【Go言語】構造体が入れ子になっている場合の初期化はどうするの?

Go言語で入れ子になったstructを初期化する方法を解説します。

構造体の初期化関数を使えば入れ子になったstructを初期化することです。

以下が入れ子の構造体を初期化するサンプルコードです。


type YourStruct struct {
    Value string
}

func NewYourStruct(s string) YourStruct {
    return YourStruct{Value: s}
}

type MyStruct struct {
    Data YourStruct
}

func main() {
    s := MyStruct{Data: NewYourStruct("Hello, World!")}
    fmt.Println(s.Data.Value)
}

NewYourStructのようにYourStructの初期化関数を定義し、MyStruct内のDataフィールドを初期化することができます。