paizaの練習問題を解く クラスのメンバの更新 Go編
こんにちは、ナナオです。 前回に引き続き競プロを実施していきたいと思います。 今回の問題は以下です。 クラスのメンバの更新 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】 実装 以下のように実装しました。 package main import "fmt" type Emplpyee struct { number int name string } func NewEmployee(number int, name string) *Emplpyee { return &Emplpyee{ number: number, name: name, } } func (e Emplpyee) GetNum() int { return e.number } func (e Emplpyee) GetName() string { return e.name } func (e *Emplpyee) ChangeNum(number int) { e.number = number } func (e *Emplpyee) ChangeName(name string) { e.name = name } func main(){ var n int fmt.Scan(&n) var es []Emplpyee for i := 0; i < n; i++ { var cmd string fmt.Scan(&cmd) if cmd == "make" { var number int var name string fmt.Scan(&number, &name) es = append(es, *NewEmployee(number, name)) } else if cmd == "getnum" { var j int fmt.Scan(&j) fmt.Println(es[j - 1].GetNum()) } else if cmd == "getname" { var j int fmt.Scan(&j) fmt.Println(es[j - 1].GetName()) } else if cmd == "change_num" { var j, num int fmt.Scan(&j, &num) es[j - 1].ChangeNum(num) } else if cmd == "change_name" { var j int var name string fmt.Scan(&j, &name) es[j - 1].ChangeName(name) } } } 前回のコードにセッターを追加しました。 ...