Golang的map数据类型

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

内容简介: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数组是自动扩容的不是固定的长度

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

查看所有标签

猜你喜欢:

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

Host Your Web Site In The Cloud

Host Your Web Site In The Cloud

Jeff Barr / SitePoint / 2010-9-28 / USD 39.95

Host Your Web Site On The Cloud is the OFFICIAL step-by-step guide to this revolutionary approach to hosting and managing your websites and applications, authored by Amazon's very own Jeffrey Barr. "H......一起来看看 《Host Your Web Site In The Cloud》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具