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, 直接返回,不会报错

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

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/tulipgirl/p/11829410.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程