Go语言学习笔记(5)——集合Map

集合Map

  • map是使用hash表实现的、无序的键值对的集合!只能通过key获得value,而不能通过index
  • map的长度不固定,和slice一样都是引用类型。len函数适用于map,返回map的key的数量。
  • map的key可以是所有可比较的类型,如布尔型、整型、浮点型、字符串型。。。


map的使用:(make是一个内建函数)

创建map

  • 声明: var mapName map[key_type]value_type    //map的默认值也是nil
  • 创建: mapName = make(map[key_type]value_type)             

            eg:    rating := map[string]float {"c":5, "Go":4.5, "Python":4.5}                

  • 插值: mapName["China"] = "Beijing"

 

delete()函数 

  • 用于删除map集合的元素: delete(mapNmae, key)
  • 此函数不返回任何值。如果key不存在,也不会报错,不会对map产生任何影响。

 

ok-idiom

  • 可以通过key获取相应的value —> map[key].
  • 当key不存在时,会得到该value值类型对应的默认值,如string得到空字符串,int得到0...程序不会报错!
  • 我们可以使用 ok-idiom获取值,并且可以知道key/value是否存在:value, ok = map[key],存在时ok的值为true, 不存在则为false.

 

== 操作符    只能用来检查map是否为空(mapName == nil),但不能用于map的比较。

                                
××× make和new:

  • make()仅用于内建类型(map、slice和channel)的内存分配(创建),并且返回一个初始化后的(非0)值。        
  • new()可以用于各种类型的内存分配,并返回该内存空间的地址,即指针!   

 

转载于:https://www.cnblogs.com/skzxc/p/10680607.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值