go数组是不是没有php的关联数组类型,只有数字索引类型的?

如题,要实现类似php的关联数组类型,在go里面是不是只能通过map实现?谢谢大神指点!

例如:

//php里面的下面的结构:

[
    "user": {"id":1,"name":"张三"},
    "course":{"id":1,"name":"第一课"}
]

在 go 里面算是个什么类型呢?我现在把它当一维是个长度为2的数组,二维是个map的类型,IDE一直报错,不知为何?

阅读 2.7k
2 个回答

在php里面,这种一维也是个 map类型

$arr = array(
    "user" => array("id" => 1, "name" => "张三"),
    "course" => array("id" => 2, "name" => "第一课"),
);
echo json_encode($arr);
//{"user":{"id":1,"name":"张三"},"course":{"id":2,"name":"第一课"}}

在go 里面可以使用
map[string]map[string]interface{}

也可以定一个结构体去搞,明确一下类型

type Info struct{
    Id int
    Name string
}
var XXInfo map[string]Info

你可以弄一个map[string]interface{}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题