1.1 map
map[keyType][valueType]age' := make(map[string]int)
package main
import (
"fmt"
)
func main() {
var agemap[string]int
if age== nil {
fmt.Println("map is nil.")
age= make(map[string]int)
}
}
1.2 Map的清空
age = make(map[string]int)age= nil
1.3 Map的引用属性
与切片一样,map 是引用类型。当一个 map 赋值给一个新的变量,它们都指向同一个内部数据结构。因此改变其中一个也会反映到另一个
package main
import (
"fmt"
)
func main() {
age := map[string]int{
"steve": 20,
"jamie": 80,
}
fmt.Println("Ori age", age)
newage:= age
newage["steve"] = 18
fmt.Println("age changed", age)
}
Ori age map[steve:20 jamie:80]
age changed map[steve:18 jamie:80]
2.1 二维map
2.1.1 二维map的初始化
初始化需要两个步骤
yourMap := make(map[string]map[string]int)
for i, _ := range yourMap {
yourMap[i] = make(map[string]int)
}
2.1.2 二维map的清空
二维以及多维map的清空同一维map的原理是相同的,不再赘述。