美文网首页
第03天(复合类型)_map的基本使用

第03天(复合类型)_map的基本使用

作者: lucas777 | 来源:发表于2019-12-13 14:21 被阅读0次

    24_map的基本使用.go

    package main //必须有个main包
    import "fmt"
    func main() {
        //定义一个变量, 类型为map[int]string
        var m1 map[int]string
        fmt.Println("m1 = ", m1)
        //对于map只有len,没有cap
        fmt.Println("len = ", len(m1))
    
        //可以通过make创建
        m2 := make(map[int]string)
        fmt.Println("m2 = ", m2)
        fmt.Println("len = ", len(m2))
    
        //可以通过make创建,可以指定长度,只是指定了容量,但是里面却是一个数据也没有
        m3 := make(map[int]string, 2)
        m3[1] = "mike" //元素的操作
        m3[2] = "go"
        m3[3] = "c++"
    
        fmt.Println("m3 = ", m3)
        fmt.Println("len = ", len(m3))
    
        //初始化
        //键值是唯一的
        m4 := map[int]string{1: "mike", 2: "go", 3: "c++"}
        fmt.Println("m4 = ", m4)
    
    }
    

    25_map赋值.go

    package main //必须有个main包
    
    import "fmt"
    
    func main() {
        m1 := map[int]string{1: "mike", 2: "yoyo"}
        //赋值,如果已经存在的key值,修改内容
        fmt.Println("m1 = ", m1)
        m1[1] = "c++"
        m1[3] = "go" //追加,map底层自动扩容,和append类似
        fmt.Println("m1 = ", m1)
    
    }
    

    26_map遍历.go

    package main //必须有个main包
    
    import "fmt"
    
    func main() {
        m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
    
        //第一个返回值为key, 第二个返回值为value, 遍历结果是无序的
        for key, value := range m {
            fmt.Printf("%d =======> %s\n", key, value)
        }
    
        //如何判断一个key值是否存在
        //第一个返回值为key所对应的value, 第二个返回值为key是否存在的条件,存在ok为true
        value, ok := m[0]
        if ok == true {
            fmt.Println("m[1] = ", value)
        } else {
            fmt.Println("key不存在")
        }
    }
    

    27_map删除.go

    package main //必须有个main包
    
    import "fmt"
    
    func main() {
        m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
        fmt.Println("m = ", m)
    
        delete(m, 1) //删除key为1的内容
        fmt.Println("m = ", m)
    }
    

    28_map做函数参数.go

    package main //必须有个main包
    
    import "fmt"
    
    func test(m map[int]string) {
        delete(m, 1)
    }
    
    func main() {
        m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
        fmt.Println("m = ", m)
    
        test(m) //在函数内部删除某个key
    
        fmt.Println("m = ", m)
    }
    

    相关文章

      网友评论

          本文标题:第03天(复合类型)_map的基本使用

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