Go:3-4 Map(创建、遍历、获取value值、判断key值是否在map中、删除value)

Go:3-4 Map(创建、遍历、获取value值、判断key值是否在map中、删除value),第1张

Go:3-4 Map(创建、遍历获取value值、判断key值是否在map中、删除value) 一.创建Map
Map[key]value//结构

方法一:

	m1 := map[string]string{//方法一
		"name":    "dog",
		"course":  "golong",
		"site":    "imooc",
		"quality": "not bad",
	}
	m2 := make(map[string]int)//方法二:初始为空
	var m3 map[string]int//方法三:初始为空
	fmt.Println(m1)
	fmt.Println(m2)
	fmt.Println(m3)

结果:

二.遍历Map
m1 := map[string]string{ 
	"name":    "dog",
	"course":  "golong",
	"site":    "imooc",
	"quality": "not bad",
}
fmt.Println("Map的遍历:")
for k, v := range m1 {
	fmt.Println(k, v)
}

结果:

三.获取value值
m1 := map[string]string{ //方法一
	"name":    "dog",
	"course":  "golong",
	"site":    "imooc",
	"quality": "not bad",
}
fmt.Println("获取value:")
courseName := m1["course"]
fmt.Println(courseName)

四.判断key值是否在map中
m1 := map[string]string{ //方法一
	"name":    "dog",
	"course":  "golong",
	"site":    "imooc",
	"quality": "not bad",
}
fmt.Println("获取value:")
courseName, ok := m1["course"]
fmt.Println(courseName, ok)
causeName, ok := m1["cause"]//cause不在map中,输出值为空
fmt.Println(causeName, ok)

结果:

五.删除value
m1 := map[string]string{ //方法一
	"name":    "dog",
	"course":  "golong",
	"site":    "imooc",
	"quality": "not bad",
}
name, ok := m1["name"]
fmt.Println(name, ok)
delete(m1, "name")
name, ok = m1["name"]
fmt.Println(name, ok)

结果:

六.Map中key使用

1. map使用哈希表,必须可以比较相等。
2. 除了slice、map、function的内建类型都可以作为key。
3. struct类型不包括上述字段,也可以作为key

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5697477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存