知识点预览
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数组是自动扩容的不是固定的长度
有疑问加站长微信联系(非本文作者)