4.4 Map
一、Map定义方式
map[key类型]值类型{默认key: 默认值, ...}:
m := map[string]string{ "name": "LonelySnow", "course": "golang", "site": "imooc", "quality": "notbad", }初始值后面一定加
,map后面一定要加
{}map[key类型]map[key类型]值类型:复合Map,值为另一个map
第二种创建Map的方式:
m2 := make(map[string]string)备注:创建出来的map是空map(empty)
第三种创建Map的方式
var m3 map[string]int备注:创建出来的map是空map(nil)
二、Map的遍历
使用
range函数备注:不保证遍历顺序,如需排序,需要手动排序
可以使用len获取Map中元素的个数
三、Map的操作
根据key获取value
备注:如果key输入错误造成key不存在的话,会得到一个空串为结果
根据key获取value,可以得到是否获取成功的结果(上面定义为ok),获取到了为true,没有获取到为false
可以根据ok的特征修改代码
备注:判断内容是否存在
四、删除元素
可以直接使用
delete函数操作备注:可以直接清除内容
五、Map的key要求
Map使用哈希表,必须可以比较相等
除了slice,map,function的内建类型都可以作为key
Struct类型不包含上述字段,也可以作为key
Last updated
Was this helpful?