golang map 获取某个值

我们如果想要获取某个 map 的值怎么做呢?#

package main

import "fmt"

func main() {

    m := map[string]int{
        "a": 1,
        "b": 2,
        "c": 3,
    }

    fmt.Println("Geting values")
    courseName := m["a"]
}

如果获取了一个不存在的 key 怎么处理呢?

例如:#

package main

import "fmt"

func main() {

    m := map[string]int{
        "a": 1,
        "b": 2,
        "c": 3,
    }

    fmt.Println("Geting values")
    courseName := m["d"]
}

输出结果会为空字串。我们怎么防止空字串的问题呢?

package main

import "fmt"

func main() {

    m := map[string]int{
        "a": 1,
        "b": 2,
        "c": 3,
    }

    fmt.Println("Geting values")
    courseName, ok := m["a"]
    fmt.Println(courseName,ok)
    if courseName, ok := m["d"]; ok{
        fmt.Println(courseName)
    }else{
        fmt.Println("key does not exist")
    }
}

这里我们使用到了两个变量接受值。用第二个值来判断 boolean

file

本作品采用《CC 协议》,转载必须注明作者和本文链接
by JeffreyBool blog :point_right: link
JeffreyBool