代码介绍
HowTocreate2DMap()
HowTocreate2DMap()演示了如何创建一个二维关联数组(后面简称为字典)。如果你知道如何创建可以直接跳过。
func1()
func1()为实际的探究内容
package main
import "fmt"
type MyMap map[int]int
//如何创建一个二位字典
func HowTocreate2DMap(){
m:=make(map[int]MyMap) //指向字典的字典
m[0]=make(map[int]int) //先分配空间
m[0][0]=100 //map[0:map[0:100]] 如果没有没配空间(即省略上一步操作)而直接赋值,会返回错误:panic: assignment to entry in nil map
fmt.Println(m)
}
//指向字典的字典 值的修改
func func1(){
m:=make(map[int]MyMap)
temp:=make(map[int]int)
m[0]=temp
m[0][0]=100
temp[0]=500
fmt.Println(temp) //map[0:500]
fmt.Println(m) //map[0:map[0:500]] 原因解释:m[0]与temp使用同一块内存空间。(个人观点)
//结论:二维切片与二位字典有着类似的功能。二维切片内的第二维值可以和一个维切片的同一块地址空间
}
func main(){
HowTocreate2DMap()
func1()
}