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!
推薦閱讀:
- golang 實現對Map進行鍵值自定義排序
- Golang 使用Map實現去重與set的功能操作
- C++11中使用using的方法
- golang中for range的取地址操作陷阱介紹
- 一文搞懂Map與Set的用法和區別解析