知识点整理:
- 创建 make(map[string]string)
- 获取元素 m[key]
- key不存在 会获取value的初始值
- 用value, ok = m[key] 来判断是否存在key
- delete来删除map
- range遍历key 或者遍历key,value
- 不保证遍历的顺序 如需顺序 需要手动对key排序
- len来获取元素数量
代码如下:
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 不需要担心初始化问题
//如果验证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)
}
网友评论