golang 入门--定义map的6种方式

方式1:定义,同时赋值

var heroes map[string]string = map[string]string{
    
    
    "heroe1": "卢俊义",
    "heroe2": "林冲",
}
heroes["heroe3"] = "阮小七"
fmt.Println("方式2: ", heroes)

方式1-2:类型推导,同时赋值(推荐)

// 方式2-2 (类型推导)
heroes2 := map[string]string{
    
    
    "heroe1": "卢俊义",
    "heroe2": "林冲",
}
heroes2["heroe3"] = "阮小七"
fmt.Println("方式2-2: ", heroes2)

方式1-3:先类型推导来定义,后赋值(推荐)

heroes3 := map[string]string{
    
    }
heroes3["heroe1"] = "武松"
fmt.Println("方式1-3: ", heroes3)

方式2:make先定义,再初始化,接着再赋值

var cities3 map[string]string // 只是定义,没有分配空间,无法调用
// a["no1"] = "宋江"             //此时,没有分配空间,赋值会报错

cities3 = make(map[string]string) // map分配数据空间
cities3["no1"] = "黑龙江"
cities3["no2"] = "吉林"
cities3["no3"] = "辽宁"
fmt.Println("方式2: ", cities3)

方式2-2: make,定义并初始化

var cities map[string]string = make(map[string]string) // 定义,分配数据空间,赋值
cities["no1"] = "黑龙江"
cities["no2"] = "吉林"
cities["no3"] = "辽宁"
fmt.Println("方式2-2: ", cities)

方式2-3:make,类型推导来定义(推荐)

cities2 := make(map[string]string)
cities2["no1"] = "黑龙江"
cities2["no2"] = "吉林"
cities2["no3"] = "辽宁"
fmt.Println("方式2-3: ", cities2)

猜你喜欢

转载自blog.csdn.net/xiaojin21cen/article/details/124336803