【Go】Map


  1. 创建map-》分配空间-》赋值

    1
    2
    3
    4
    5
    6
    // 1. 先声明变量,然后开辟空间,最后赋值
    var map1 map[int]string
    map1 = make(map[int]string, 10)
    map1[1] = "php"
    map1[2] = "python"
    map1[3] = "java"
  2. 创建map同时分配空间-》赋值

    1
    2
    3
    4
    5
    // 2. 声明变量的同时分配空间,然后赋值
    map2 := make(map[int]string, 10)
    map2[1] = "Jordan"
    map2[2] = "Kobe"
    map2[3] = "xxx"
  3. 创建map同时分配空间同时赋值

    1
    2
    3
    4
    5
    6
    // 3. 声明变量同时分配空间同时赋值
    map3 := map[int]string{
    1: "Nike",
    2: "Adidas",
    3: "Anta",
    }

    测试1-3结果

  4. 增删改查+函数修改

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    // map是引用类型,所以形参是引用传递
    func update(cityMap map[string]string) {
    cityMap["Fujian"] = "Fuzhou"
    }
    func main() {

    // 基本操作-CURD
    map1 := make(map[string]string)

    // 1. 增
    fmt.Println("----增----")
    map1["Fujian"] = "Fuzhou"
    map1["Guangdong"] = "Guangzhou"
    map1["Zhejiang"] = "Hangzhou"
    fmt.Println(map1)

    // 2. 删
    fmt.Println("----删----")
    delete(map1, "Zhejiang")
    fmt.Println(map1)

    // 3. 改
    fmt.Println("----改----")
    map1["Fujian"] = "XiaMen"
    fmt.Println(map1)

    // 4. 查
    fmt.Println("----查----")
    for key, value := range map1 {
    fmt.Println("key:", key, "value:", value)
    }

    // 5. 通过函数修改map值
    fmt.Println("----通过引用传递修改map值----")
    update(map1)
    fmt.Println(map1)

    }

    测试结果