go语言之map

Posted 20155222lzj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言之map相关的知识,希望对你有一定的参考价值。

1.map的定义

map是键值对的映射(key->value)

key可以是引用类型之外的任何数据类型,他是唯一、无序的,所有key的数据类型必须相同

var m1 map[int]string//声明一个map,无空间,不能存储数据
m2 :=  map[int]string//能存储数据,默认len=0
m3 := make(map[int]string//同上
m4 := make(map[int]string, 5)//创建一个map并指定大小

map不能使用cap,只能使用len

2.map的初始化

var m5 map[int]string = map[int]string1:"Luffy", 130:"Sanji", 1301:"Zoro"//定义同时初始化
m6 := map[int]string1:"Luffy", 130:"Sanji", 1303:"Zoro"//默认推到类型

3.map的遍历

    var m8 map[int]string = map[int]string1:"Luffy", 130:"Sanji", 1301:"Zoro"
    for k, v := range m8 
        fmt.Printf("key:%d --- value:%q\n", k, v)
    

4.判断map是否存在

    var m9 map[int]string = map[int]string1:"Luffy", 130:"Sanji", 1301:"Zoro"

    if v, has := m9[12]; has   // m9[下标] 返回两个值,第一个是value,第二个是bool 代表key是否存在。
        fmt.Println("value=", v, "has=", has)
     else 
        fmt.Println("false value", v, "has=", has)
    

5.map删除元素

delete(map,key)//删除一个不存在的key也不会报错

以上是关于go语言之map的主要内容,如果未能解决你的问题,请参考以下文章

go语言(golang)学习之路

Go语言 基础 map

10.map

Go从入门到放弃

Go语言进阶之路

Go语言之GO 语言引用类型