標籤:go語言 go golang map 字典
Maps是Go語言內建的關聯型資料類型(在其他語言有時候也叫做hashes或者dicts)。
package mainimport "fmt"func main() {// 建立一個空字典可以使用內建函數make: "make(map[鍵類型]實值型別)"m := make(map[string]int)// 使用經典的"name[key]=value"來為鍵設定值m["k1"] = 7m["k2"] = 13// 用Println輸出字典,會輸出它所有的索引值對fmt.Println("map:", m)// 使用 "name[key]" 擷取一個鍵的值.v1 := m["k1"]fmt.Println("v1: ", v1)// 內建函數返回字典的索引值對的個數fmt.Println("len:", len(m))// 內建函數delete從字典刪除一個鍵對應的值delete(m, "k2")fmt.Println("map:", m)// 根據鍵來擷取值有一個可選的第二個傳回值;// 這個傳回值表示字典中是否存在該鍵,// 如果存在為true,返回對應值,否則為false,返回零值// 有的時候需要使用這個傳回值來判斷返回結果到底是存在的值還是零值// 比如字典不存在鍵x對應的整型值,返回零值就是0,但是恰好字典中有// 鍵y對應的值為0,這個時候需要那個可選傳回值來判斷是否零值。_, ok := m["k2"]fmt.Println("ok:", ok)// 你可以用 ":=" 在定義的同時初始化一個字典n := map[string]int{"foo": 1, "bar": 2}fmt.Println("map:", n)}
輸出
$ go run maps.go map: map[k1:7 k2:13]v1: 7len: 2map: map[k1:7]prs: falsemap: map[foo:1 bar:2]
當使用fmt.Println 列印輸出字典時,輸出格式為: map[k:v k:v]。
要瞭解更多關於字典,請查看學習Golang語言(7): 類型--字典
下一個例子: Go by Example: Range.
英文原文
Go by Example: Maps