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的主要内容,如果未能解决你的问题,请参考以下文章