-
MMTTMM
你Contact是一个匿名结构类型的字段。因此,您必须重复类型定义:s := &Sender{ BankCode: "BC", Name: "NAME", Contact: struct { Name string Phone string }{ Name: "NAME", Phone: "PHONE", },}但在大多数情况下,最好像 rob74 建议的那样定义一个单独的类型。
-
九州编程
分别定义两个结构体,然后在“Sender”中嵌入“Contact”怎么样?type Sender struct { BankCode string Name string Contact}type Contact struct { Name string Phone string}如果您这样做,您的第二次初始化尝试将起作用。此外,您可以单独使用“联系人”。如果你真的想使用嵌套的结构,你可以使用Ainar-G的答案,但这个版本是不漂亮(和它会变得丑陋,如果结构进行了深入的嵌套,如图所示这里),所以我不会做如果可以避免的话。
-
海绵宝宝撒
type NameType struct { First string Last string}type UserType struct { NameType Username string}user := UserType{NameType{"Eduardo", "Nunes"}, "esnunes"}// oruser := UserType{ NameType: NameType{ First: "Eduardo", Last: "Nunes", }, Username: "esnunes",}