(二十九)golang--map

Posted xiximayou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(二十九)golang--map相关的知识,希望对你有一定的参考价值。

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

基本语法:var 名称 map[键类型]值类型

  • key的类型可以是:bool、数字、string、指针、管道,还可以是包含前面几个类型的接口、结构体、数组;(通常为Int、string)
  • value的类型基本和key一样;

申明:

  • var a map[string]string
  • var a map[string]int
  • var a map[int]string
  • var a map[string]map[string]string
  • 申明是不会分配内存的,初始化需要make,分配内存后才能被赋值和使用;
    a = make(map[int]int, 0)

使用方式:

  • var a map[int]int
    a = make(map[int]int,0)
  • a := make(map[int]int)
  • a := map[int]int{
      1:2,
      2:3,
    }

技术图片

 技术图片

 map的增删改查:

技术图片技术图片

 map的遍历:

技术图片技术图片

 map的长度:用len统计有多少对key-value

技术图片

 map的切片:(动态增加map),一般而言,初始化的切片的长度是有一定长度的,要想再增加,可以用append函数  
技术图片技术图片

 map排序:

  • golang中没有一个专门的方法针对map的key排序;
  • golang中的map默认是无序的;
  • golang中map的排序,是先对key进行排序,然后根据key遍历输出即可;(我现在的版本里面map里面是有序的了)

 技术图片技术图片

 map的使用细节:

  • map是引用类型,在一个函数接收map,修改后,会直接影响到原来的map
    技术图片
  • map的容量达到后,要想再增加map,会自动扩容;
  • map的value经常使用struct类型,更适合管理复杂的数据
    技术图片技术图片 

以上是关于(二十九)golang--map的主要内容,如果未能解决你的问题,请参考以下文章

开始写游戏 --- 第二十九篇

初级算法探索——动态规划篇(二十九)

初级算法探索——动态规划篇(二十九)

第二十九讲:基础四依赖倒转原则

linux第十节课(补三月二十九)

第二十九章:数据库维护