注:本文是我的自学笔记,不具备教学意义,如有错误欢迎指出
map声明
var 变量名 map [key类型]值类型
需要用make给a创造空间
变量名 = make (map 【类型】类型)
若key重复,则将前一个替换
map删除
delete(map名,key) 若该key不存在,则删除不会操作,也不会报错
若要一次性删除全部,有两种方法。1,遍历所有的key,一个个删除。2,直接make一个新空间
方法一
方法二(图片解释有错,分配新空间后可不赋值)
map查找
map长度
得出map的长度,共有多少对 len(map名)
map切片
map中的map
map排序
golang中map是无序的,输出时不是按照添加顺序输出,每次编译都会得到不同的结果
golang中map的排序是现将key进行排序,再根据key的值进行遍历
如果在创建切片时创建空间,则会出现以下情况,
注:如果使用 fmt.println输出map,输出结果会根据key的大小从小到大排序
map细节
map为引用类型,在函数中修改map的值会影响到主函数中map的值