在golang

时间:2018-04-13 05:32:22

标签: go multidimensional-array glide-golang

这是我的代码:

package main

import (
    "fmt"
)
type person struct {
        //name  [][]string{};
        name [][]string
    }  

func main() {
var people = map[string]*person{}

people["first person"] = &person{name:{{"My name","30"}}}
    fmt.Println(people["first person"])
}

我有一个错误:

  

复合文字中缺少类型

我希望输出为[[My name,30]]

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

这是一个有效的例子。在使用之前,您必须声明组合文字的类型。

package main

import (
    "fmt"
)

type person struct {
    //name  [][]string{};
    name [][]string
}

func main() {
    var people = map[string]*person{}

    people["first person"] = &person{name: [][]string{{"John", "30"}}}
    fmt.Println(people["first person"])
}

答案 1 :(得分:1)

在创建实例指针并初始化时,您缺少type,它应该是:

&person{name: [][]string{{"My name, 30"}}}

以下是工作示例:

package main

import (
    "fmt"
)

type person struct {
    name [][]string
}

func main() {
    var people = map[string]*person{}
    people["first person"] = &person{name: [][]string{{"My name, 30"}}}
    fmt.Println(people["first person"].name)
}