package main
import "fmt"
func MapMake() {
var countryCapitalMap map[string]string /*创建map */
countryCapitalMap = make(map[string]string) // 初始化map,如果不进行初始化会提示: panic: assignment to entry in nil map
/* map插入key - value对,各个国家对应的首都 */
countryCapitalMap["France"] = "巴黎"
countryCapitalMap["Italy"] = "罗马"
fmt.Println("当前Map内容: ", countryCapitalMap)
/*使用键输出地图值 */
for key := range countryCapitalMap {
fmt.Println(key, "首都是", countryCapitalMap[key])
}
}
func MapCreate() {
// 直接创建并赋值
m := map[string]string{"名字": "刘德华", "年龄": "18岁"}
fmt.Println("初始Map内容: ", m)
m["职业"] = "开发工程师" // 追加内容
fmt.Println("追加元素之后的Map内容: ", m)
delete(m, "职业") // 删除职业信息
fmt.Println("删除元素之后的map内容: ", m)
m["年龄"] = "20岁" // 更新内容
fmt.Println("更新内容之后的map内容: ", m)
user, ok := m["名字"] // 通过key获取value
if ok {
fmt.Println("当前【名字】的值是: ", user)
} else {
fmt.Println("无法找到Key值: 名字")
}
}
func main() {
fmt.Println("第一种创建方式")
MapMake()
fmt.Println("第二种创建方式")
MapCreate()
}
效果如下
PS D:\DATA\git\GoLang\dmeo> go run .\map.go
第一种创建方式
当前Map内容: map[France:巴黎 Italy:罗马]
France 首都是 巴黎
Italy 首都是 罗马
第二种创建方式
初始Map内容: map[名字:刘德华 年龄:18岁]
追加元素之后的Map内容: map[名字:刘德华 年龄:18岁 职业:开发工程师]
删除元素之后的map内容: map[名字:刘德华 年龄:18岁]
更新内容之后的map内容: map[名字:刘德华 年龄:20岁]
当前【名字】的值是: 刘德华