• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

GoMap基本操作-增删改查

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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))

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go——小白学习随机数冒泡排序发布时间:2022-07-10
下一篇:
Go goroutine发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap