Go语言的小细节--map

tonny · · 2116 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

Go和Python一样,都有map。在Python里叫做字典,在Go里叫做映射。 与Go相比Python对map的使用相对更加灵活,毕竟在Pyhton的哲学里一切皆对象。 在Go里面创建map有两种方法,一种是先申明在赋值,另一种是在申明的时候直接进行赋值。 在这里Go创建map的方式与C++有点像。 先说第一种:先申明再赋值 ```go var item map[string]string item = make(map[string]string, 1000) ``` 由于是刚开始学习Go语言,对于Go机制的理解还不够深,所以我只能大概用C++的方式来解释一下,说的不对的地方请大神指正。这里的先申明map类型但是系统还没有给item这个变量分配空间,使用make语句来让系统给它分配内存空间。make的第二个参数是向系统申请多大的空间。这个1000是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后面要加逗号。否则系统就会报错。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2116 次点击  
加入收藏 微博
2 回复  |  直到 2016-06-27 03:53:16
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传