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]string{1:"Luffy", 130:"Sanji", 1301:"Zoro"}//定义同时初始化
m6 := map[int]string{1:"Luffy", 130:"Sanji", 1303:"Zoro"}//默认推到类型

3.map的遍历

	var m8 map[int]string = map[int]string{1:"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]string{1:"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也不会报错
posted @ 2019-08-16 15:36  20155222卢梓杰  阅读(120)  评论(0)    收藏  举报