Go-map

一.map介绍

    map是key-value数据结构,又称为字段或者关联数组。类似与其他编程语言的集合

二.map的声明

   基本语法:

   var  变量名 map[keytype]valuetype

   Golang中的map的key可以是很多种类型,比如bool,数字,string,指针,channel,还可以是只包含前面几个类型的 接口、结构体、数组,通常为int、string

   ps:slice,map还有function不可以,因为这几个没法用 == 来判断

           声明是不会分配内存的,初始化需要make,分配内存后才能赋值和使用

   案例演示:

        

 说明:1.使用前一定要make

            2.map的key是不能重复的,如果重复了,则以最后的key-value为准

            3.map的value是可以相同的

三.map使用的方式

      

   

  

四.map的增删查改操作

    1.map增加和更新:

      map["key"] = value //如果key还没有,就是增加,如果key纯在就是修改

          

   2.map删除

      说明:

      delete(map,"key"),delete是一个内置函数,如果key存在,就删除该key-value,如果key不存在,不操作,但是也不会报错

              

     细节说明:

     (1).如果我们要删除map的所有key,没有专门的方法去一次删除,可以遍历key,逐个删除

     (2)或者 map=make(...),make一个新的,让原来的成为垃圾。

   3.map查找

     案例:

           

         说明:如果map中存在 "n1" ,那么findRes就会返回true,否则返回flase,findRes随便取名

五.map遍历

    使用for-range的结构遍历,为什么不用for 因为map的key不一定是数字

       

               

      

六.map切片

     介绍:切片的数据类型如果是map,则我们称为slice of map,map切片,这样使用则map这个                  数就可以动态变化了

    案例:要求一个map来记录monster的信息name和age,也就是说一个monster对应一个map。                 并且妖怪的个数可以动态的增加=>map切片

            

七.map使用细节

     1.map是引用类型,遵守引用类型传递的机制,在一个函数接收map,修改后,会直接修改原来的map

     2.map的容量达到后,在想map增加元素,会自动扩容,并不会发生panic,也就是说map能动态的增长键值对

     3.map的value也经常使用struct类型,更适合管理复杂的数据,比如value为student结构体

            

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老实憨厚的腾锅锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值