十七: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類型,更適合管理複雜的數據

 

  

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