map初始化的四种方法

    var myGreeting map[string]string
    fmt.Println(myGreeting)        // map[]
    fmt.Println(myGreeting == nil) //true

    myGreeting2 := make(map[string]string)
    myGreeting2["Tim"] = "Good morning."
    myGreeting2["Jenny"] = "Bonjour."

    fmt.Println(myGreeting2)         //map[Jenny:Bonjour. Tim:Good morning.]

    myGreeting3 := map[string]string{}
    myGreeting3["Tim"] = "Good morning."
    myGreeting3["Jenny"] = "Bonjour."
    fmt.Println(myGreeting3)         //map[Jenny:Bonjour. Tim:Good morning.]

    myGreeting4 := map[string]string{
        "Time":  "Good morning.",
        "Jenny": "Bonjour.",
    }

    fmt.Println(myGreeting4)          //map[Jenny:Bonjour. Time:Good morning.]
    fmt.Println(myGreeting4["Jenny"]) //Bonjour.

map添加操作

    myGreeting := map[string]string{
        "Tim":   "Good morning!",
        "Jenny": "Bonjour!",
    }

    myGreeting["Harleen"] = "Howdy"

    fmt.Println(myGreeting)

len 获取map的长度

    myGreeting := map[string]string{
        "Tim":   "Good morning!",
        "Jenny": "Bonjour!",
    }

    myGreeting["Harleen"] = "Howdy"

    fmt.Println(len(myGreeting))

更新map

    myGreeting := map[string]string{
        "Tim":   "Good morning!",
        "Jenny": "Bonjour!",
    }

    myGreeting["Harleen"] = "Howdy"
    fmt.Println(myGreeting)
    myGreeting["Harleen"] = "Gidday"
    fmt.Println(myGreeting)

删除map的值:

    myGreeting := map[string]string{
        "zero":  "Good morning!",
        "one":   "Bonjour!",
        "two":   "Buenos dias!",
        "three": "Bongiorno!",
    }

    fmt.Println(myGreeting)
    delete(myGreeting, "two")
    fmt.Println(myGreeting)
    // ------------------------------------------------------------
        myGreeting := map[int]string{
        0: "Good morning!",
        1: "Bonjour!",
        2: "Buenos dias!",
        3: "Bongiorno!",
    }

    fmt.Println(myGreeting)
    delete(myGreeting, 7)
    fmt.Println(myGreeting)

判断key是否存在

    myGreeting := map[int]string{
        0: "Good morning!",
        1: "Bonjour!",
        2: "Buenos dias!",
        3: "Bongiorno!",
    }

    fmt.Println(myGreeting)

    // delete(myGreeting, 2)

    if val, exists := myGreeting[2]; exists {
        fmt.Println("That value exists.")
        fmt.Println("val: ", val)
        fmt.Println("exists: ", exists)
    } else {
        fmt.Println("That value doesn't exist.")
        fmt.Println("val: ", val)
        fmt.Println("exists: ", exists)
    }

    fmt.Println(myGreeting)
scoreMap := make(map[string]int)
    scoreMap["张三"] = 90
    scoreMap["小明"] = 100
    // 如果key存在ok为true,v为对应的值;不存在ok为false,v为值类型的零值
    v, ok := scoreMap["张三"]
    if ok {
        fmt.Println(v)
    } else {
        fmt.Println("查无此人")
    }

map的遍历

    myGreeting := map[int]string{
        0: "Good morning!",
        1: "Bonjour!",
        2: "Buenos dias!",
        3: "Bongiorno!",
    }

    for key, val := range myGreeting {
        fmt.Println(key, " - ", val)
    }
}
   scoreMap := make(map[string]int)
    scoreMap["张三"] = 90
    scoreMap["小明"] = 100
    scoreMap["王五"] = 60
    for k := range scoreMap {
        fmt.Println(k)
    }

岁月峥嵘走过
34 声望2 粉丝