Golang中map的三種聲明定義方式實現(xiàn)
定義
map,在golang中定義為map[string][string],類比為python中的dict,內(nèi)部實現(xiàn)也是通過哈希存儲的,內(nèi)部的元素是無序的。
方式1:
* 通過 var xx map[type]type,來進行聲明一個map;
此時的myMap是一個空變量,為開辟實際空間進行賦值,是一個空占8字節(jié)的變量;
需要通過make(map[string]string),以聲明的類型為準,進行空間開辟,后續(xù)才可以進行賦值,否則會報越界錯誤;
方式2:
通過直接x:=make(map[string]string),不需要先定義一個map類型的空變量,因為make內(nèi)置方法會根據(jù)你傳入的類型,返回具體類型,通過:=來接收。
方式3:
初始化方式創(chuàng)建map;
這種方法用的比較多,不需要make去申請內(nèi)存分配;通過定義一個map類型變量并初始化,可以動態(tài)開辟內(nèi)存,并賦值;
* 細節(jié),map內(nèi)部最后一個元素末尾要帶逗號,這是go語法規(guī)定;
使用:
總的來說,使用也是通過key:value,以O(1)的復雜度在數(shù)據(jù)體中查詢值,特別需要注意,對于map,可以簡單理解為,通過類型的指定,map在函數(shù)中的傳遞可以理解為是"引用傳遞",即可以通過指針尋址,對指定值進行修改;
到此這篇關于Golang中map的三種聲明定義方式實現(xiàn)的文章就介紹到這了,更多相關Golang map聲明定義內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Golang實現(xiàn)Directional Channel(定向通道)
這篇文章主要介紹了Golang實現(xiàn)Directional Channel(定向通道),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02Go標準庫strconv實現(xiàn)string類型與其他基本數(shù)據(jù)類型之間轉(zhuǎn)換
這篇文章主要為大家介紹了Go標準庫strconv實現(xiàn)string類型與其他基本數(shù)據(jù)類型之間轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11詳解Golang實現(xiàn)http重定向https的方式
這篇文章主要介紹了詳解Golang實現(xiàn)http重定向https的方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08