Go by Example: Maps
maps在Go語言中是一種內置的關聯的數據類型(在有些語言中稱爲哈希或者字典)。
maps.go
package main import "fmt" func main() { m := make (map[string]int) //使用內建的make創建一個空的map: //make(map[key-type]val-type) m["k1"] = 7 //設置key/value鍵值對使用name[key]=val 語法 m["k2"] = 13 fmt.Println("map", m) //使用Println來打印map,會顯示所有的鍵值對 v1 := m["k1"] //通過name[key]來獲取一個鍵的值 fmt.Println("v1", v1) fmt.Println("len:", len(m)) //當在map上使用len的時候會返回key/value鍵值對的個數 delete(m, "k2") //使用內建的delete刪除map的一個鍵值對。 fmt.Println("map", m) _, prs := m["k2"] //從一個map中獲取一個值的時候,返回的第二個參數表示這個值是否在 //這個map中。這個可以用來消除不存在的值和零值如:0或""的歧義。 fmt.Println("prs:",prs) n := map[string]int {"foo":1, "bar":2} //你可以使用這種語法在一行內申明並初始化一 //個新的map fmt.Println("map",n) }
注:使用fmt.Println打印map的時候,格式一般冗如:
map[k:v, k:v]
$ go run maps.go map map[k1:7 k2:13] v1 7 len: 2 map map[k1:7] prs: false map map[foo:1 bar:2]
下個例子:range