所以我可以
struct {
int
x []int
}
然而,
struct {
int
[]int
}
将产生syntax error: unexpected [, expecting }
。有没有办法在Go中的结构中包含未命名的数组?如果是这样,那么正确的语法是什么?
答案 0 :(得分:2)
阅读The Go Programming Language Specification。特别是关于Struct types的部分。用于描述您所寻找内容的Go术语是一个匿名字段。
这样的[n] [匿名]字段类型必须 被指定为类型名称T或a 指向类型名称* T和T的指针 本身可能不是指针类型。
int
是type name。 []int
既不是类型名称,也不是指向类型名称的指针。
答案 1 :(得分:0)
不,匿名字段的类型必须是类型名称或指向类型名称的指针。您可以声明一个与数组类型相同的新类型名称,然后它可以工作,但它不会完全相同。