栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法访问[]界面内的映射中的键

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法访问[]界面内的映射中的键

由于您的分片类型为

[]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",    },}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426911.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号