这是我的代码:
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]]
有人可以帮助我吗?
答案 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)
}