Golang中map的三種聲明定義方式實現

 定義

map,在golang中定義為map[string][string],類比為python中的dict,內部實現也是通過哈希存儲的,內部的元素是無序的。

方式1:

* 通過 var xx map[type]type,來進行聲明一個map;

此時的myMap是一個空變量,為開辟實際空間進行賦值,是一個空占8字節的變量;

需要通過make(map[string]string),以聲明的類型為準,進行空間開辟,後續才可以進行賦值,否則會報越界錯誤;

方式2:

通過直接x:=make(map[string]string),不需要先定義一個map類型的空變量,因為make內置方法會根據你傳入的類型,返回具體類型,通過:=來接收。

方式3:

初始化方式創建map;

這種方法用的比較多,不需要make去申請內存分配;通過定義一個map類型變量並初始化,可以動態開辟內存,並賦值;

* 細節,map內部最後一個元素末尾要帶逗號,這是go語法規定;

使用:

總的來說,使用也是通過key:value,以O(1)的復雜度在數據體中查詢值,特別需要註意,對於map,可以簡單理解為,通過類型的指定,map在函數中的傳遞可以理解為是"引用傳遞",即可以通過指針尋址,對指定值進行修改;

到此這篇關於Golang中map的三種聲明定義方式實現的文章就介紹到這瞭,更多相關Golang map聲明定義內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: