title: Golang语言中map的基本操作案例
date: 2022-12-27 10:04:10.0
updated: 2022-12-27 10:04:10.0
url: https://liumou.site/doc/588
categories:

  • GO
    tags:
  • Go

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岁]
当前【名字】的值是:  刘德华