map初始化的四种方法
var myGreeting map[string]string
fmt.Println(myGreeting) // map[]
fmt.Println(myGreeting == nil) //true
myGreeting2 := make(map[string]string)
myGreeting2["Tim"] = "Good morning."
myGreeting2["Jenny"] = "Bonjour."
fmt.Println(myGreeting2) //map[Jenny:Bonjour. Tim:Good morning.]
myGreeting3 := map[string]string{}
myGreeting3["Tim"] = "Good morning."
myGreeting3["Jenny"] = "Bonjour."
fmt.Println(myGreeting3) //map[Jenny:Bonjour. Tim:Good morning.]
myGreeting4 := map[string]string{
"Time": "Good morning.",
"Jenny": "Bonjour.",
}
fmt.Println(myGreeting4) //map[Jenny:Bonjour. Time:Good morning.]
fmt.Println(myGreeting4["Jenny"]) //Bonjour.
map添加操作
myGreeting := map[string]string{
"Tim": "Good morning!",
"Jenny": "Bonjour!",
}
myGreeting["Harleen"] = "Howdy"
fmt.Println(myGreeting)
len 获取map的长度
myGreeting := map[string]string{
"Tim": "Good morning!",
"Jenny": "Bonjour!",
}
myGreeting["Harleen"] = "Howdy"
fmt.Println(len(myGreeting))
更新map
myGreeting := map[string]string{
"Tim": "Good morning!",
"Jenny": "Bonjour!",
}
myGreeting["Harleen"] = "Howdy"
fmt.Println(myGreeting)
myGreeting["Harleen"] = "Gidday"
fmt.Println(myGreeting)
删除map的值:
myGreeting := map[string]string{
"zero": "Good morning!",
"one": "Bonjour!",
"two": "Buenos dias!",
"three": "Bongiorno!",
}
fmt.Println(myGreeting)
delete(myGreeting, "two")
fmt.Println(myGreeting)
// ------------------------------------------------------------
myGreeting := map[int]string{
0: "Good morning!",
1: "Bonjour!",
2: "Buenos dias!",
3: "Bongiorno!",
}
fmt.Println(myGreeting)
delete(myGreeting, 7)
fmt.Println(myGreeting)
判断key是否存在
myGreeting := map[int]string{
0: "Good morning!",
1: "Bonjour!",
2: "Buenos dias!",
3: "Bongiorno!",
}
fmt.Println(myGreeting)
// delete(myGreeting, 2)
if val, exists := myGreeting[2]; exists {
fmt.Println("That value exists.")
fmt.Println("val: ", val)
fmt.Println("exists: ", exists)
} else {
fmt.Println("That value doesn't exist.")
fmt.Println("val: ", val)
fmt.Println("exists: ", exists)
}
fmt.Println(myGreeting)
scoreMap := make(map[string]int)
scoreMap["张三"] = 90
scoreMap["小明"] = 100
// 如果key存在ok为true,v为对应的值;不存在ok为false,v为值类型的零值
v, ok := scoreMap["张三"]
if ok {
fmt.Println(v)
} else {
fmt.Println("查无此人")
}
map的遍历
myGreeting := map[int]string{
0: "Good morning!",
1: "Bonjour!",
2: "Buenos dias!",
3: "Bongiorno!",
}
for key, val := range myGreeting {
fmt.Println(key, " - ", val)
}
}
scoreMap := make(map[string]int)
scoreMap["张三"] = 90
scoreMap["小明"] = 100
scoreMap["王五"] = 60
for k := range scoreMap {
fmt.Println(k)
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。