Go 使用嵌入式结构构造结构文字

Go 使用嵌入式结构构造结构文字,go,literals,Go,Literals,如何使用嵌入的struct构造struct literal 去: 如果我以这种方式编写结构,这是可行的: 去: 如何在第一个代码版本中使用嵌入式结构版本?您不能,也确实不应该这样做,但如果您坚持,您可以使用以下内容: p := Ping{struct{ name string }{"don't do it"}} 或 你不能,你也确实不应该这样做,但如果你坚持这样做,你可以使用以下方法: p := Ping{struct{ name string }{"don't do it"}} 或 这

如何使用嵌入的struct构造struct literal

去:

如果我以这种方式编写结构,这是可行的:

去:


如何在第一个代码版本中使用嵌入式结构版本?

您不能,也确实不应该这样做,但如果您坚持,您可以使用以下内容:

p := Ping{struct{ name string }{"don't do it"}}


你不能,你也确实不应该这样做,但如果你坚持这样做,你可以使用以下方法:

p := Ping{struct{ name string }{"don't do it"}}


这似乎不受支持,查看

用类型声明但没有显式字段名的字段是匿名字段,也称为嵌入字段或在结构中嵌入类型。
嵌入类型必须指定为类型名T或指向非接口类型名*T的指针,而T本身可能不是指针类型


这意味着T必须在其他地方定义。

查看

用类型声明但没有显式字段名的字段是匿名字段,也称为嵌入字段或在结构中嵌入类型。
嵌入类型必须指定为类型名T或指向非接口类型名*T的指针,而T本身可能不是指针类型

这意味着T必须在其他地方定义

p := Ping{struct{ name string }{"don't do it"}}
p := Ping{}
p.Content.name = "hello"