代码之家  ›  专栏  ›  技术社区  ›  Aaron Yodaiken

go中结构中的未命名数组

  •  0
  • Aaron Yodaiken  · 技术社区  · 15 年前

    所以我可以

    struct {
        int
        x []int
    }
    

    然而,

    struct {
        int
        []int
    }
    

    会导致 syntax error: unexpected [, expecting } . 在GO结构中有没有命名数组的方法吗?如果是,正确的语法是什么?

    2 回复  |  直到 15 年前
        1
  •  0
  •   newacct    15 年前

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

        2
  •  2
  •   peterSO    15 年前

    The Go Programming Language Specification . 特别是关于 Struct types . 描述您要查找的内容的go术语是匿名字段。

    Such a[n] [anonymous] field type must 被指定为类型名t或 pointer to a type name *T, and T 自身不能是指针类型。

    int 是一个 type name . []int 既不是类型名,也不是指向类型名的指针。