package main
import “fmt”
func main(){
/*
var map 變量名 map[keytype]valuetype
key可以是什麽類型
golang中的map,的key可以是很多種類型,比如bool,數字,string,指針,channel,還可以是只包含前面幾個類型的 接口,結構體,數組
通常爲int、string
注意:slice,map還有function不可以,因爲這幾個沒法用==來判斷
基本語法
var map變量名map[keytype]valuetype
valuetype可以是什麽類型
valuetype的類型和key基本一樣,這裏我就不再贅述了
通常爲:數字(證書,浮點數),string,map,struct
map聲明的舉例:
var a map[string]string
var a map[string]int
var a map[int]string
var a map[string]map[string]string
注意:聲明是不會分配内存的,初始化需要make,分配内存后才能賦值和使用。
*/
//map的生命和注意事項
var a map[string]string
//在使用map前,需要先make,make的作用就是給map分配數據空間
a = make(map[string]string,10)
a["no1"] = "宋江"//ok?
a["no2"] = "吳用"//ok?
a["no1"] = "武松"//ok?
a["no3"] = "武用"//ok?
fmt.Println(a)
}
//對上面代碼的説明
/*
1)map在使用前一定要make
2)map的key是不能重複,如果重複了,則以最後這個key-value爲準
3)map的value是可以相同的
4)map的key-value是可以無序的
*/