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

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

查看所有标签

猜你喜欢:

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

Python for Everyone

Python for Everyone

Cay S. Horstmann、Rance D. Necaise / John Wiley & Sons / 2013-4-26 / GBP 181.99

Cay Horstmann's" Python for Everyone "provides readers with step-by-step guidance, a feature that is immensely helpful for building confidence and providing an outline for the task at hand. "Problem S......一起来看看 《Python for Everyone》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具