這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
字典是Go語言內建的關聯資料類型。因為數組是索引對應數組元素,而字典是鍵對應值。
package mainimport "fmt"func main() { // 建立一個字典可以使用內建函數make // "make(map[鍵類型]實值型別)" m := make(map[string]int) // 使用經典的"name[key]=value"來為鍵設定值 m["k1"] = 7 m["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)}
輸出結果為
map: map[k1:7 k2:13]v1: 7len: 2map: map[k1:7]ok: falsemap: map[foo:1 bar:2]