十七:GO语言的map

基本语法

  var 变量名 map[key类型] value类型

  key可以是很多种类型,比如bool,数字,string,指针,channer,还可以是只包含前面几个类型的接口,结构体,数组。通常为int,string,不可重复,如果重复则会被认为是修改value的操作

  value的类型和key基本一致,通常为数字(整数,浮点型),string,map,struct

  注意:slice,map还有function不可以,因为这几个没办法用“==”来判断

声明:

  var a map[string] string

  var a map[string] int

  var map[int] string

  var map[string] map[string] string

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

 

 使用方式有三种

 

 map删除元素,delete()内置函数

  根据key来删除map中的元素,如果key存在则删除,key不存在则不操作,不会报错

  delete(map,key)

  

 

 map的查找

 

 

map的排序,map默认是无序的

把map的key放到一个切片中,

在切片中使用sort.inits()内置函数进行排序,

循环切片根据切片中已排序过的key输出map中的元素

 

 

使用细节

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

  2.map的容量达到后,再想map增加元素,会自动扩容,并不会发生panic

  3.map的value也经常使用struct类型,更适合管理复杂的数据

 

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章