Struct 在Go中初始化结构

Struct 在Go中初始化结构,struct,go,initialization,anonymous,Struct,Go,Initialization,Anonymous,这是在Go中初始化结构的有效语法吗 id := struct { name, ltype, value } 字段都是字符串。我得到的实际错误消息是语法错误:unexpected}。也许你不能用这种方式初始化匿名结构?没有类型推断 name := "a" ltype := "b" value := "c" id := struct { name, ltype, value string } { name, ltype, value } 没有类型推断 name := "a" ltype := "

这是在Go中初始化结构的有效语法吗

id := struct { name, ltype, value }

字段都是字符串。我得到的实际错误消息是语法错误:unexpected}。也许你不能用这种方式初始化匿名结构?

没有类型推断

name := "a"
ltype := "b"
value := "c"
id := struct { name, ltype, value string } { name, ltype, value }

没有类型推断

name := "a"
ltype := "b"
value := "c"
id := struct { name, ltype, value string } { name, ltype, value }

您还可以内联初始化该值


id:=struct{name,ltype,value string}{a,b,c}

您还可以内联初始化值


id:=struct{name,ltype,value string}{a,b,c}

Context:Seinfeld.:还有,我想我可以节省一些打字时间——不妨回去手动使用new和init all字段!您不需要为数据部分中的字段命名,只需要一个字符串定义,如果您想要id:=struct{name,ltype,value string}{name,ltype,value},那么这个字符串定义就可以使它变短:很遗憾,在我的代码中,struct被嵌入到另一个结构中,所以用这种方式初始化是很繁琐的。推理规则是否记录在任何地方?上下文:宋飞:还有,我想我可以节省一些打字时间——不妨回去手动使用new和init all字段!您不需要为数据部分中的字段命名,只需要一个字符串定义,如果您想要id:=struct{name,ltype,value string}{name,ltype,value},那么这个字符串定义就可以使它变短:很遗憾,在我的代码中,struct被嵌入到另一个结构中,所以用这种方式初始化是很繁琐的。推理规则是否记录在任何地方?