Go語言基礎學習八-映射

Go語言基礎學習八-映射

     Go語言中映射是一種內置的數據結構,保存鍵-值對數據集合,在映射中所有的鍵必須是支持==和!=操作符的類型,一般的類型都支持如,int,float64,rune,string和可比較的數組及結構體,但Go語言的切片和不能用於比較的數組和結構體不能作爲鍵值。

    映射的一些操作如下:

         m[k] = v         :  用鍵值k(鍵)將值v(值)賦值給映射m(維持鍵-值的映射名)

         Delete(m,k)     :  刪除映射m中的k鍵對應的值

         v:=m[k]          :  將映射m中k鍵對應的值賦值給v,若k鍵不存在,則將映射類型的0值賦值給v

         v,found :=m[k]:   同上,但發現有k鍵存在時,found爲true,不存在則found爲false

         len(m)        :返回映射中鍵值對的個數

     映射屬於引用類型(就相當於指針類型),無論映射有多少數據保存,映射的傳遞都是很廉價的,映射的查詢速度很快,且映射裏所有的鍵的數據類型必須相同,值也是如此,但鍵和值的數據類型可以不同,但是我們可以創建一個值爲空接口類型(interface{})的映射,這樣任意類型的值都可以作爲該映射的值。

     映射的創建:

         make(map[KeyType] ValueType,initialCapacity)  //使用make創建映射,一個空的映射

         make(map[KeyType] ValueType)

         map[KeyType] ValueType{}

         map[KeyType] ValueType{key1:value1,key2:value2…}

     同樣的,映射和數組或切片一樣可以使用索引操作符[],但和數組或切片不同,映射的鍵類型不必是int型,可以是字符串,可比較的數組,指針等

     for…range來遍歷映射,for key,value :=range map,遍歷每一個鍵值對,分別返回該映射的鍵和值。

     

     映射的查找操作:

     v = m[k],直接返回鍵k的]對應的值

     v,found := m[k],返回鍵k對應的值和是否發現鍵值的標誌位

     映射的修改操作:

     delete(populationForCity,”Shanghai”),刪除映射population中的Shanghai鍵的值

     更新和添加直接對鍵進行賦值即可。

      

     當我們遍歷一個映射的時候,遍歷的順序是按鍵的大小排序的(Unicode碼點順序)

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