go语言学习笔记-map

理解

map是由一组无序的键key值value对集合的内置类型,可以通过键来获取对应的值,map和slices一样,也是引用类型

注意:map之间不能使用==操作符来判断

 

创建map

语法:map[type of key]type of value

var myMap map[string]int //nil

此时map是零值,不允许向map向添加元素,我们需要使用make函数初始化map

myMap := make(map[string]int)

 

添加map元素

map添加元素的方法和数组一致

myMap["car"]   = 1
myMap["truck"] = 2
myMap["jeep"]  = 3

也可以在初始化的时候就添加元素

myMap := map[string]int{
        "kitty": 10,
        "Miko":  12,
}

 

删除map元素

语法:delete(mapName, key),该函数没有返回值

delete(myMap, "truck")

 

获取map元素

与数组一致

fmt.Println(myMap["kitty"]) //10

 

map排序

map本身是散列表来实现的,所以是无序的,如果想要以键来对map排序,需要先提取key到slice中,再对slice排序,以下摘用大神们的代码段举例

func main() {
    var m = map[string]int{
        "unix":         0,
        "python":       1,
        "go":           2,
        "javascript":   3,
        "testing":      4,
        "philosophy":   5,
        "startups":     6,
        "productivity": 7,
        "hn":           8,
        "reddit":       9,
        "C++":          10,
    }
    var keys []string
    for k := range m {
        keys = append(keys, k)
    }
    sort.Strings(keys)
    for _, k := range keys {
        fmt.Println("Key:", k, "Value:", m[k])
    }
}

以上就是关于go语言中map的一些基本理解和操作,之后会持续更新的~

感谢你的阅读~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值