Golang的map数据类型

栏目: Go · 发布时间: 7年前

内容简介:1.什么是map2.map的定义3.map的注意事项

知识点预览

1.什么是map

2.map的定义

3.map的注意事项

4.map的增删改查

5.map的遍历

6.map的切片

7.map切片的细节

/*1.为什么要用到map咧?已经是有了数组和切片的类型,
map的表现形式是key->value形式,由于数组的key只能是整形的类型
并不适合类似于字典这样的需求,因此需要map来解决这种场景
*/
//定义方式1:定义然后make后再赋值
var 变量名 map[keytype]valuetype
变量名 = make(map[keytype]valuetype,len)
变量名[key] = value
//定义方式2:定义同时分配空间
变量名  := make(map[keytype]valuetype)
变量名[key] = value
//定义方式3定义同时分配空间及赋值
变量名 := map(keytype)valuetype{
  key:value
}
1.map在使用前如果定义了没有开辟空间那么必须要make,否则不能用
2.map的key是不能重复的如果重复则会保留最后定义的key
3.map的value可以是相同的
4.map的key-value是无序的,每次输出的顺序都是不同的
1. 变量名[key] = value   //如果没有就创建如果有则修改
2.delete(变量名,key)     //删除变量中的key
3.val,ok = 变量名[key]  //如果找到返回true,否则返回false
//map的遍历,只能用for-range
for key,value := range map变量名{
  fmt.Println(key,value)
}
//map切片的定义
var 变量名 []map[keytype]valuetype
变量名 = make([]map[keytype]valuetype,len)
变量名[0][key] = value  //赋值
//动态append map类型
newmap := map[keytype]valuetype{
  key:value
}
oldmap = append(oldmap,newmap)
1.map的传值方式是引用类型
2.map数组是自动扩容的不是固定的长度

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创业维艰

创业维艰

本·霍洛维茨 Ben Horowitz / 杨晓红、钟莉婷 / 中信出版社 / 2015-2 / 49

本·霍洛维茨,硅谷顶级投资人,与网景之父马克·安德森联手合作18年,有着丰富的创业和管理经验。2009年创立风险投资公司A16Z,被外媒誉为“硅谷最牛的50个天使投资人”之一,先后在初期投资了Facebook、Twitter、Groupon、Skype,是诸多硅谷新贵的创业导师。 在《创业维艰》中,本·霍洛维茨从自己的创业经历讲起,以自己在硅谷近20余年的创业、管理和投资经验,对创业公司(尤......一起来看看 《创业维艰》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具