Go 不声明类型的嵌套结构
我知道我们可以做一些类似这样的事情:Go 不声明类型的嵌套结构,go,Go,我知道我们可以做一些类似这样的事情: 类型Struct1 struct{ 一些字符串 someInt int } 类型Struct2 struct{ 一些字符串 someStruct[]结构1 } var s Struct2=Struct2{“abc”,[]{Struct1{“def”,123},Struct1{“ghi”,456} 但我想知道你是否可以为我不需要的数据做一些匿名的事情,除了在特定的地方。我希望避免编写冗余代码,我正在寻找这样的代码: var s=struct{ someStr
类型Struct1 struct{
一些字符串
someInt int
}
类型Struct2 struct{
一些字符串
someStruct[]结构1
}
var s Struct2=Struct2{“abc”,[]{Struct1{“def”,123},Struct1{“ghi”,456}
但我想知道你是否可以为我不需要的数据做一些匿名的事情,除了在特定的地方。我希望避免编写冗余代码,我正在寻找这样的代码:
var s=struct{
someString字符串,someStructs[]结构{
x字符串,y int
}
} {
“好的”,[]{
{1, 2}, {3, 4}, {5, 6}
}
}
是的,您可以这样做,但如果您有嵌套的匿名结构,则会有点乏味:
var s = struct {
someString string,
someStructs[] struct {
x string
y int
}
} {
someString: "ok",
someStructs: []struct{ x string, y int } {
{"1", 2}, {"3", 4}, {"5", 6}
}
}
当然,如果使用正确的语法,它可以工作,但在代码中这样做很少有帮助:。如果您声明的是不同的类型,那么它不是多余的,并且使代码更易于使用。匿名类型的片段要求您重复类型声明,但除此之外,您可以完全按照您所描述的进行操作。@JimB谢谢,我接受了Burak的回答,因为它回答了我的问题,但我还是同意你对我的编码风格的建议。