Runoob-Go:Go 語言Map(集合)
阿新 • • 發佈:2020-08-24
ylbtech-Runoob-Go:Go 語言Map(集合) |
1.返回頂部 |
Go 語言Map(集合)
Map 是一種無序的鍵值對的集合。Map 最重要的一點是通過 key 來快速檢索資料,key 類似於索引,指向資料的值。
Map 是一種集合,所以我們可以像迭代陣列和切片那樣迭代它。不過,Map 是無序的,我們無法決定它的返回順序,這是因為 Map 是使用 hash 表來實現的。
定義 Map
可以使用內建函式 make 也可以使用 map 關鍵字來定義 Map:
/* 宣告變數,預設 map 是 nil */
var map_variable map[key_data_type]value_data_type
/* 使用 make 函式 */
map_variable := make(map[key_data_type]value_data_type)
如果不初始化 map,那麼就會建立一個 nil map。nil map 不能用來存放鍵值對
例項
下面例項演示了建立和使用map:
例項
packagemainimport"fmt"
funcmain(){
varcountryCapitalMapmap[string]string/*建立集合 */
countryCapitalMap=make(map[string]string)
/* map插入key - value對,各個國家對應的首都 */
countryCapitalMap["France"]="巴黎"
countryCapitalMap["Italy"]="羅馬"
countryCapitalMap["Japan"]="東京"
/*使用鍵輸出地圖值 */
forcountry:=rangecountryCapitalMap{
fmt.Println(country,"首都是",countryCapitalMap[country])
}
/*檢視元素在集合中是否存在 */
capital,ok:=countryCapitalMap["American"]/*如果確定是真實的,則存在,否則不存在 */
/*fmt.Println(capital) */
/*fmt.Println(ok) */
if(ok){
fmt.Println("American 的首都是",capital)
fmt.Println("American 的首都不存在")
}
}
以上例項執行結果為:
France 首都是 巴黎
Italy 首都是 羅馬
Japan 首都是 東京
India 首都是 新德里
American 的首都不存在
delete() 函式
delete() 函式用於刪除集合的元素, 引數為 map 和其對應的 key。例項如下:
例項
packagemainimport"fmt"
funcmain(){
/* 建立map */
countryCapitalMap:=map[string]string{"France":"Paris","Italy":"Rome","Japan":"Tokyo","India":"New delhi"}
fmt.Println("原始地圖")
/* 列印地圖 */
forcountry:=rangecountryCapitalMap{
fmt.Println(country,"首都是",countryCapitalMap[country])
}
/*刪除元素*/delete(countryCapitalMap,"France")
fmt.Println("法國條目被刪除")
fmt.Println("刪除元素後地圖")
/*列印地圖*/
forcountry:=rangecountryCapitalMap{
fmt.Println(country,"首都是",countryCapitalMap[country])
}
}
以上例項執行結果為:
原始地圖
India 首都是 New delhi
France 首都是 Paris
Italy 首都是 Rome
Japan 首都是 Tokyo
法國條目被刪除
刪除元素後地圖
Italy 首都是 Rome
Japan 首都是 Tokyo
India 首都是 New delhi
2、
2.返回頂部 |
3.返回頂部 |
4.返回頂部 |
5.返回頂部 |
6.返回頂部 |
作者:ylbtech 出處:http://ylbtech.cnblogs.com/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。 |