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类型,更适合管理复杂的数据

最新文章

  1. CSS3径向渐变----大鱼吃小鱼之孤单的大鱼
  2. HDU 5904 LCIS (最长公共上升序列)
  3. 微软.NET Framework 4.5.2 RTM正式版
  4. C#动态加载程序集(转)
  5. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(三)DOCTYPE和字符集
  6. HDU 3289 Cat VS Dog (二分匹配 求 最大独立集)
  7. GC日志分析
  8. Wooden Sticks(杭州电1051)
  9. 我所理解的Spring AOP的基本概念
  10. net软件工程师求职简历
  11. ASP.NET Zero--前期要求
  12. 《Effective C++》继承与面对对象设计:条款32-条款40
  13. SQL Server初探
  14. Python+OpenCV图像处理(十六)—— 轮廓发现
  15. Linux 卸载 MySQL 数据库
  16. NIO读写文件并加锁
  17. python if all
  18. Hightchart 技巧
  19. android 优秀框架整理
  20. SQL Server ->> Computed Column(计算列)

热门文章

  1. win10系统plsql卡顿、菜单闪烁解决办法
  2. Vue中Class与Style如何动态绑定
  3. kubernetes kubelet组件中cgroup的层层"戒备"
  4. MyBatisCodeHelper-Pro插件破解
  5. 网络攻防实验任务三_(2)X-Scan通用漏洞扫描实验
  6. springboot pagehelper分页无效
  7. Java基础(十八)集合(5)Queue集合
  8. 漏洞靶场--webug4.0安装
  9. TICK技术栈(二)Telegraf安装及使用
  10. 赤壁情:dp