首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言的小细节--map

Go语言的小细节--map

作者头像
李海彬
发布2018-03-21 17:44:21
6150
发布2018-03-21 17:44:21
举报
文章被收录于专栏:Golang语言社区Golang语言社区

Go和Python一样,都有map。在Python里叫做字典,在Go里叫做映射。

与Go相比Python对map的使用相对更加灵活,毕竟在Pyhton的哲学里一切皆对象。

在Go里面创建map有两种方法,一种是先申明在赋值,另一种是在申明的时候直接进行赋值。

在这里Go创建map的方式与C++有点像。

先说第一种:先申明再赋值

var item map[string]stringitem = make(map[string]string, 1000)

由于是刚开始学习Go语言,对于Go机制的理解还不够深,所以我只能大概用C++的方式来解释一下,说的不对的地方请大神指正。这里的先申明map类型但是系统还没有给item这个变量分配空间,使用make语句来让系统给它分配内存空间。如果没有make这条语句,系统会报错。make的第二个参数是向系统申请多大的空间。这个100是map的存储能力。

再说第二种:申明的时候直接进行赋值

(1)var item map[string]string{"aaa":, "111", "bbb":"222"}(2)var item map[string]string{    "aaa":"111",    "bbb":"222",
}(3)item := map[string]string{"aaa":"111", "bbb":"222"}(4)item := map[string]string{    "aaa":"111",    "bbb":"222",
}

为了查看方便,我在标记了序号。上面一共有四种方法,仔细看其实也就是两种。

(1)(2)是先申明为map类型进行赋值 (3)(4)是直接进行赋值,连申明都省去了。系统会自动为item这个变量进行类型的判断并赋值。

这里有个小细节

(1)和(2)其实是一样的,只是(1)是在一行,(2)是分成了多行。当遇到需要写很多key:value对时(2)显示的相对更直观一些。细节就在于在如果一行写的话,最后一个key:value后面不需要加逗号,如果分行写的话,最后一个key:value后面要加逗号。否则系统就会报错。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档