Go構造体の値の設定方法
Go言語の構造体の代入方法には次のものが含まれます。
- 構造体型のリテラルによる代入:構造体型のリテラルを通して直接代入する。
type Person struct {
Name string
Age int
}
p := Person{Name: "Alice", Age: 20}
- ストラクチャ変数のフィールド名を使ってフィールドに値を代入する:フィールド名による代入。
var p Person
p.Name = "Bob"
p.Age = 25
- new 関数による代入: new 関数を使って構造体のポインタを作成し、そのポインタを使って代入する
p := new(Person)
p.Name = "Charlie"
p.Age = 30
- 「&」 演算子で代入:構造体変数のアドレスを「&」演算子で得て、そのアドレスで代入します。
var p *Person
p = &Person{Name: "David", Age: 35}
- 構造関数による代入:構造体変数を生成するために構造関数定義し、その中で代入を実行する。
func NewPerson(name string, age int) *Person {
p := new(Person)
p.Name = name
p.Age = age
return p
}
p := NewPerson("Emma", 40)
構造体内のネストした構造体については、逐次代入で代入操作を実行できます。