使用数组初始化结构

感兴趣的结构如下所示


type rect struct {

width, height float64

testArray []struct{

    id    string

  }

}

我正在尝试初始化结构,如下所示


r := rect{

    width: 10,

    height: 10,

    testArray: []struct{

        id: "wwwww",

    }, 

    {

        id: "wwwww",

    },

}

然而,它给我一个错误说


语法错误: 意外 :, 预期类型


梦里花落0921
浏览 104回答 2
2回答

守着一只汪

下面是一个工作示例:type test struct {   id string}type rect struct {   height float64   width float64   testArray []test}func main() {   r := rect{      height: 10,      width: 10,      testArray: []test{         {id: "April"},         {id: "March"},      },   }}

慕侠2389804

当然,更好的解决方法是显式声明,但初始实现也不是太糟糕。struct{id string}在你的声明上,你有你的内联类型在哪里。因此,您唯一缺少的是内联结构的额外大括号和重新声明:testArray []struct{id string}struct { id string }r := rect{    width: 10,    height: 10,    testArray: []struct{ id string} { // re declare the inline struct type      { id: "April" }, // provide values      { id: "March" },     },}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go