感兴趣的结构如下所示
type rect struct {
width, height float64
testArray []struct{
id string
}
}
我正在尝试初始化结构,如下所示
r := rect{
width: 10,
height: 10,
testArray: []struct{
id: "wwwww",
},
{
id: "wwwww",
},
}
但是它给我一个错误说
<块引用>语法错误:意外:,需要类型
答案 0 :(得分:0)
这是一个工作示例:
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"},
},
}
}
答案 1 :(得分:0)
当然更好的解决方法是显式声明 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" },
},
}