Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 不声明类型的嵌套结构_Go - Fatal编程技术网

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的回答,因为它回答了我的问题,但我还是同意你对我的编码风格的建议。