Go by Example: Maps

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章