我是靠谱客的博主 个性歌曲,最近开发中收集的这篇文章主要介绍Go map的增删改查及遍历,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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["no1"]
if ok {
	fmt.Printf("有no1 key 值为%vn", val)
} else {
	fmt.Printf("没有no1 keyn")
}
  • 如果 cities这个 map 中存在 "no2" , 那么 ok就会返回 true,否则返回 false


map的遍历​​​​​​​

  • 说明:map 的遍历使用 for-range 的结构遍历
  • 案例演示1
//使用for-range遍历map
cities := make(map[string]string)
cities["no1"] = "北京"
cities["no2"] = "天津"
cities["no3"] = "上海"

for k, v := range cities {
	fmt.Printf("k=%v v=%vn", k, v)
}
  • 输出结果;


  • 案例演示2
studentMap := make(map[string]map[string]string)

studentMap["stu01"] =  make(map[string]string, 3)
studentMap["stu01"]["name"] = "tom"
studentMap["stu01"]["sex"] = "男"
studentMap["stu01"]["address"] = "北京长安街"

studentMap["stu02"] =  make(map[string]string, 3) //这句话不能少!!
studentMap["stu02"]["name"] = "mary"
studentMap["stu02"]["sex"] = "女"
studentMap["stu02"]["address"] = "上海黄浦江"

for k1, v1 := range studentMap {
	fmt.Println("k1=", k1)
	for k2, v2 := range v1 {
			fmt.Printf("t k2=%v v2=%vn", k2, v2)
	}
	fmt.Println()
}
  • 输出结果:


  • map 的长度

cities := make(map[string]string)
cities["no1"] = "北京"
cities["no2"] = "天津"
cities["no3"] = "上海"

fmt.Println("cities 有", len(cities), " 对 key-value")
  • 输出结果:

​​​​​​​

最后

以上就是个性歌曲为你收集整理的Go map的增删改查及遍历的全部内容,希望文章能够帮你解决Go map的增删改查及遍历所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部