1日1%成長するブログ

毎日成長するために仕事/プライベートで得た学びをアウトプットするブログです

Golangでネストした構造体を初期化する方法

次のようにネストした構造体が存在する場合に、 Golangでは初期化の方法が非常に面倒くさい。

type User struct {
    ID        int
    Name  string
    Account struct {
      Password string
      AccessToken string
    }
}
func main() {
    user := User{
      ID: 1,
      Name: "Masaru",
      Account: struct{
          Password string
          AccessToken string
      }{
          Password: "hogehoge",
        AccessToken: "fugafuga",
      },
    }
    fmt.Println(user)
}

こんな感じでネストした構造体の構造と値を別々で書かないと初期化出来ない。 最初結構嵌ったので、メモ。