您好,登錄后才能下訂單哦!
Go語言中map如何使用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
map 映射鍵到值:
map 在使用之前必須用 make 來創建(不是 new);一個值為 nil 的 map 是空的,并且不能賦值。
復制代碼 代碼如下:
package mainimport "fmt"type Vertex struct { Lat, Long float64}var m map[string]Vertexfunc main() { m = make(map[string]Vertex) m["Bell Labs"] = Vertex{ 40.68433, 74.39967, } fmt.Println(m["Bell Labs"])}
map 的文法跟結構體文法相似,不過鍵名是必須的。
package mainimport "fmt"type Vertex struct { Lat, Long float64}var m = map[string]Vertex{ "Bell Labs": Vertex{ 40.68433, -74.39967, }, "Google": Vertex{ 37.42202, -122.08408, },}func main() { fmt.Println(m)}
如果頂層類型只有類型名的話,可以在文法的元素中省略鍵名。
package main import "fmt" type Vertex struct { Lat, Long float64 } var m = map[string]Vertex{ "Bell Labs": {40.68433, -74.39967}, "Google": {37.42202, -122.08408}, } func main() { fmt.Println(m) }
修改map:
在 map m 中插入或修改一個元素:
m[key] = elem
獲得元素:
復制代碼 代碼如下:
elem = m[key]
刪除元素:
復制代碼 代碼如下:
delete(m, key)
通過雙賦值檢測某個鍵存在:
復制代碼 代碼如下:
elem, ok = m[key]
如果 key 在 m 中, ok 是 true。 否則,ok 是 false 并且 elem 是 map 的元素類型的零值。
同樣的,當從 map 中讀取某個不存在的鍵時,結果是 map 的元素類型的零值。
package main import "fmt" func main() { m := make(map[string]int) m["Answer"] = 42 fmt.Println("The value:", m["Answer"]) m["Answer"] = 48 fmt.Println("The value:", m["Answer"]) delete(m, "Answer") fmt.Println("The value:", m["Answer"]) v, ok := m["Answer"] fmt.Println("The value:", v, "Present?", ok) }
看完上述內容,你們掌握Go語言中map如何使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。