map
代码
//example.go
package test
import "fmt"
//map是无序的键值对映射
func Map() {
//key:string value:string
var m1 map[string]string
//通过make给map分配空间,默认map空间为1,会自动增长
m1 = make(map[string]string) //make(Type,初始size) 注意:初始size可以省略,默认为1
m1["早上"] = "敲代码"
m1["中午"] = "送外卖"
m1["晚上"] = "开滴滴"
fmt.Println("m1 = ", m1)
//第二种声明方式
m2 := map[string]string{
"下午": "123",
"凌晨": "456",
}
fmt.Println("m2 =", m2)
//判断map中是否存在值
v, ok := m2["早上"]
if ok {
fmt.Println("v = ", v)
} else {
fmt.Println("key不存在")
}
//删除map中元素
delete(m1, "晚上")
fmt.Println("m1 = ", m1) //m1 = map[中午:送外卖 早上:敲代码]
//清空map
//1. 赋值为nil
//2. 重新make
//m1 = nil
m2 = make(map[string]string)
fmt.Println("m2 =", m2)
//map的遍历,只能用for...range,len()不适用于map
for key, value := range m1 {
fmt.Printf("key = %v,value = %v\n", key, value)
}
}
//main.go
package main
import "GoExample/test"
func main() {
test.Map()
}
本博客参考自:
https://www.bilibili.com/video/BV1s341147US/?spm_id_from=333.337.search-card.all.click&vd_source=a642bb3ddc5b706845426dc41d73fbda