Go中结构的未命名数组

时间:2010-06-27 23:40:24

标签: syntax go

所以我可以

struct {
    int
    x []int
}

然而,

struct {
    int
    []int
}

将产生syntax error: unexpected [, expecting }。有没有办法在Go中的结构中包含未命名的数组?如果是这样,那么正确的语法是什么?

2 个答案:

答案 0 :(得分:2)

阅读The Go Programming Language Specification。特别是关于Struct types的部分。用于描述您所寻找内容的Go术语是一个匿名字段。

  

这样的[n] [匿名]字段类型必须   被指定为类型名称T或a   指向类型名称* T和T的指针   本身可能不是指针类型。

inttype name[]int既不是类型名称,也不是指向类型名称的指针。

答案 1 :(得分:0)

不,匿名字段的类型必须是类型名称或指向类型名称的指针。您可以声明一个与数组类型相同的新类型名称,然后它可以工作,但它不会完全相同。