美文网首页
一个例子学懂go语言之Map的介绍与使用

一个例子学懂go语言之Map的介绍与使用

作者: 木豚 | 来源:发表于2019-08-16 17:59 被阅读0次

    map是go语句内建的关联数据类型(在其他编程语言也叫hash或者dicts)

    例子

    package main
    
    import "fmt"
    
    func main() {
        m := make(map[string]int)
    
        m["k1"] = 7
        m["k2"] = 13
    
        fmt.Println("map:", m)
    
        v1 := m["k1"]
        fmt.Println("v1: ", v1)
    
        fmt.Println("len:", len(m))
    
        delete(m, "k2")
        fmt.Println("map:", m)
    
        _, prs := m["k2"]
        fmt.Println("prs:", prs)
    
        n := map[string]int{"foo": 1, "bar": 2}
        fmt.Println("map:", n)
    }
    

    代码解析

    m := make(map[string]int)
    

    可以使用内建方法make创建map,对应的语法为`make(map[键的类型]值的类型)

    m["k1"] = 7
    m["k2"] = 13
    

    设置键值对可以使用map变量[键] = 值

    fmt.Println("map:", m)
    

    fmt.Println打印map会把所有的键值对都打印

    v1 := m["k1"]
    fmt.Println("v1: ", v1)
    

    获取一个键对应的值可以用map变量名[键]

    fmt.Println("len:", len(m))
    

    使用内建方法len可以返回map中的键值对个数

    delete(m, "k2")
    fmt.Println("map:", m)
    

    使用内建方法delete可以删除map中的键值对

    _, prs := m["k2"]
    fmt.Println("prs:", prs)
    

    用键来获取除了可以返回一个值还可以返回一个布尔值,如果值零值(像是0或者"")则返回false其他则返回true,这里我们只测试第二个布尔值,所以使用_来省略返回过来的值

    n := map[string]int{"foo": 1, "bar": 2}
    fmt.Println("map:", n)
    

    你也可以在定义时候直接赋值

    运行结果

    $ go run maps.go 
    map: map[k1:7 k2:13]
    v1:  7
    len: 2
    map: map[k1:7]
    prs: false
    map: map[bar:2 foo:1]
    

    注意:map在打印时为map[k:v k:v]的形式

    相关文章

      网友评论

          本文标题:一个例子学懂go语言之Map的介绍与使用

          本文链接:https://www.haomeiwen.com/subject/lewqsctx.html