Go学习笔记之Map
程序员文章站
2022-05-18 20:40:52
Go学习笔记之Map Map 引用类型,哈希表。map的key必须可以比较相等,除了slice, map, function的内建类型都可以作为key。struct类型不包含上述字段,也可作为key。 map的操作 1.创建一个map。 1 m := map[int]struct{ 2 name s ......
go学习笔记之map
map 引用类型,哈希表。map的key必须可以比较相等,除了slice, map, function的内建类型都可以作为key。struct类型不包含上述字段,也可作为key。
map的操作
1.创建一个map。
1 m := map[int]struct{ 2 name string 3 age int 4 }{ 5 1: {"user1", 10}, 6 2: {"user2", 20}, 7 } 8 fmt.println(m)
2.使用make创建。这里map为空。
m := make(map[string]int) //map[key]value,m == empty
3.或者定义一个map,这里map为nil。
var m map[string]int // m == nil
2.获取元素
1.使用value, ok := map[key]来判断是否存在key.
2.使用delete删除元素。
m := map[string]int{ "a": 1, } if v, ok := m["a"]; ok{ //判断key是否存在 println(v) }else{ println("not exist") } println(m["c"]) //对于不存在的key, 直接返回\0,不会报错 m["b"] = 2 //新增或修改 delete(m, "c") //删除,若key不存在,不会报错 println(len(m)) //获取键值对数量,cap 无效
map的遍历
不能保证迭代返回的次序。
m := map[string]string { "name": "ccmouse", "course": "golang", "site": "imooc", } fmt.println("traversing map") for k,v := range m { fmt.println(k, v) } 输出: course golang site imooc name ccmouse