知識點(diǎn)整理:
- 創(chuàng)建 make(map[string]string)
- 獲取元素 m[key]
- key不存在 會獲取value的初始值
- 用value, ok = m[key] 來判斷是否存在key
- delete來刪除map
- range遍歷key 或者遍歷key,value
- 不保證遍歷的順序 如需順序 需要手動對key排序
- len來獲取元素?cái)?shù)量
代碼如下:
package main
import "fmt"
func main() {
m := map[string]string{
"name": "nameContent",
"course": "asdas",
}
m2 := make(map[string]int)//m2 == empty map
var m3 map[string]int//m3 == nil
fmt.Println(m, m2, m3)
fmt.Println("Traversing map")
for k, v := range m {
fmt.Println(k, v)
}
fmt.Println("Getting values")
//如果key不存在 則返回一個空的string 不需要擔(dān)心初始化問題
//如果驗(yàn)證key是否存在
courseName, ok := m["course1"]
fmt.Println(courseName,ok)
//判斷值是否存在
if courseName, ok := m["course1"]; ok {
fmt.Println(courseName)
}else{
fmt.Println("key does not exist")
}
//刪除元素
fmt.Println("Delete Map")
name, ok := m["name"]
fmt.Println(name, ok)
delete(m,"name")
name, ok = m["name"]
fmt.Println(name, ok)
}