![无法访问[]界面内的映射中的键,第1张 无法访问[]界面内的映射中的键,第1张](/aiimages/%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%5B%5D%E7%95%8C%E9%9D%A2%E5%86%85%E7%9A%84%E6%98%A0%E5%B0%84%E4%B8%AD%E7%9A%84%E9%94%AE.png)
由于您的分片类型为
[]interface{},因此索引该分片将为您提供type的元素interface{}。类型的值interface{}无法建立索引。但是由于您将类型的值
map[string]string放入其中,因此可以使用类型断言来获取该映射类型的值,您可以对其进行正确索引:
fmt.Printf("%vn", example_container[0].(map[string]string)["name"])输出(在Go Playground上尝试):
[map[name:bob id:1] map[name:jim id:2]]map[name:bob id:1]bob
如果您知道总是将类型的值存储
map[string]string在
example_container切片中,则最好按以下方式对其进行定义:
example_container := []map[string]string{ map[string]string{ "name": "bob", "id": "1", }, map[string]string{ "name": "jim", "id": "2", },}然后,您不需要类型声明就可以访问名称:
fmt.Printf("%vn", example_container[0]["name"])在Go Playground上尝试一下。
还要注意,在用于初始化
example_container切片的复合文字中,列出元素时甚至可以省略地图类型:
example_container := []map[string]string{ { "name": "bob", "id": "1", }, { "name": "jim", "id": "2", },}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)