Go言語の構造体の初期化と代入の方法について教えてください。
Go言語における構造体の初期化や代入は、以下の2つの方法で行うことができる。
- リテラル初期化:構造体の名前そのものを使用し、花の括弧でフィールドの初期値を指定する。例えば:
type Person struct {
Name string
Age int
}
func main() {
// 初始化并赋值
p := Person{Name: "Alice", Age: 25}
// 访问结构体的字段
fmt.Println(p.Name) // 输出:Alice
fmt.Println(p.Age) // 输出:25
}
- newキーワードで初期化する方法:newキーワードを使って構造体へのポインタを作成し、構造体のフィールドの値の割り当てにドット記法を使う。例:
type Person struct {
Name string
Age int
}
func main() {
// 使用new关键字进行初始化
p := new(Person)
p.Name = "Bob"
p.Age = 30
// 访问结构体的字段
fmt.Println(p.Name) // 输出:Bob
fmt.Println(p.Age) // 输出:30
}
上の例示では構造体型Personを作成しました。これにはNameとAgeの2つのフィールドがあります。次にリテラル初期化メソッドとnewキーワード初期化メソッドを使用して変数pを作成し、そのフィールドに値を代入しました。最後にドット記法で構造体のフィールドにアクセスし、それを表示しました。