Go,Golang:结构内部的数组类型,缺少类型复合文字

时间:2013-10-20 20:39:42

标签: go

我需要在此结构中添加切片类型。

 type Example struct {
    text  []string
 }

 func main() {
    var arr = []Example {
        {{"a", "b", "c"}},
    }
    fmt.Println(arr)    
 }

然后我到了

  prog.go:11: missing type in composite literal
  [process exited with non-zero status]

所以指定复合文字

    var arr = []Example {
         {Example{"a", "b", "c"}},

但仍然收到此错误:

    cannot use "a" (type string) as type []string in field value

http://play.golang.org/p/XKv1uhgUId

我该如何解决这个问题?如何构造包含数组(切片)类型的结构?

1 个答案:

答案 0 :(得分:38)

这是Example结构的正确切片:

[]Example{
  Example{
   []string{"a", "b", "c"},
  },
}

让我解释一下。你想做一片Example。所以这是 - []Example{}。然后必须填充Example - Example{}Example又由[]string - []string{"a", "b", "c"}组成。这只是正确语法的问题。

希望有所帮助。