map的增删改查操作
map增加和更新:
map["key"] = value //如果 key还没有,就是增加,如果 key存在就是修改。
cities := make(map[string]string)
cities["no1"] = "北京"
cities["no2"] = "天津"
cities["no3"] = "上海"
fmt.Println(cities)
//因为 no3这个key已经存在,因此下面的这句话就是修改
cities["no3"] = "上海~"
fmt.Println(cities)
map删除:
说明:delete(map,"key"),delete是一个内置函数,如果 key存在,就删除该 key-value,如果 key不存在,不操作,但是也不会报错
案例演示:
//演示删除
delete(cities, "no1")
fmt.Println(cities)
//当delete指定的key不存在时,删除不会操作,也不会报错
delete(cities, "no4")
fmt.Println(cities)
细节说明
如果我们要删除 map的所有 key ,没有一个专门的方法一次删除,可以遍历一下 key,逐个删除或者 map = make(...),make一个新的,让原来的成为垃圾,被 gc回收
//如果希望一次性删除所有的key
//1. 遍历所有的key,如何逐一删除 [遍历]
//2. 直接make一个新的空间
cities = make(map[string]string)
fmt.Println(cities)
map查找:
案例演示:
//演示map的查找
val, ok := cities["no2"]
if ok {
fmt.Printf("有no1 key 值为%v\n", val)
} else {
fmt.Printf("没有no1 key\n")
}
对上面代码的说明:
说明:如果 heroes这个 map中存在 "no1",那么 findRes就会返回 true,否则返回 false
欢迎转载,转载需注明地址: http://www.luowebs.com/Skill_desc/141/1027.html
很赞哦! (0)