• Go Map基本操作增删改查


    go中的map是hash表的一个引用,类型写为:map[key]value,其中的key, value分别对应一种数据类型,如map[string]string

    1.map初始化

    package main
    
    import "fmt"
    
    func main() {
        //初始化
        var m1 = make(map[interface{}]interface{})
        m1["1"] = "c"
        m1["c1"] = 1
        fmt.Println(m1)
    
        // m0 string
        var m0 map[string]string // 定义map类型变量m0,key的类型为string,value的类型string
        fmt.Println(m0)          // 输出: map[]
    
        // m2 interface{}
        var m2 map[interface{}]string
        m2 = make(map[interface{}]string)
        //m1[[]byte("k2")]="v2" // panic: runtime error: hash of unhashable type []uint8
        m2[123] = "123"
        m2[12.3] = "123"
        fmt.Println(m2) // map[123:123 12.3:123]
    
        // m3 数组
        a3 := [3]int{1, 2, 3}
        var m3 map[[3]int]string
        m3 = make(map[[3]int]string)
        m3[a3] = "m2"
        fmt.Println(m3) // map[[1 2 3]:m2]
    
        // m4 可以,book1里面的元素都是支持== != struct
        type book1 struct {
            name string
        }
        var m4 map[book1]string
        fmt.Println(m4) // 输出: map[]
    
    }

    2.map查找

    v,ok :=m5["a"] //ok为bool值
    if ok {
        fmt.Println(v)
    }        

    3.增加,修改

    //增加修改
    m6 := map[string]string{
        "a": "va",
        "b": "vb",
    }
    m6["c"] = "11" //若key存在则是修改,不在则是增加
    fmt.Println(m6)

     4.删除

    m7 := map[string]string{
        "a": "va",
        "b": "vb",
    }
    delete(m7, "x")   // 删除不存在的key,原m不影响
    delete(m7, "a")   // 删除存在的key
    fmt.Println(m7)

    5.遍历元素

    m8 := map[string]string{
        "a": "va",
        "b": "vb",
    }
    for k, v := range m8 {
        fmt.Printf("k:[%v].v:[%v]\n", k, v) // 输出k,v值
    }

    6.获取字典个数

    //获取个数
    m9 := map[string]string{
        "a": "va",
        "b": "vb",
    }
    fmt.Println(len(m9))
  • 相关阅读:
    MySQL报错【innoDB is limited to rowlogging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED】
    【转】linux下解压命令大全
    java学习笔记
    【转】Linux安装MySQL tar文件
    Android部署及安装
    正则表达式各个符合含义
    [转]Linux下crontab命令的用法
    XTABLE学习笔记
    MySQL的mysqldump工具的基本用法
    java开发注意事项
  • 原文地址:https://www.cnblogs.com/zhaoyingjie/p/15850486.html
Copyright © 2020-2023  润新知