Go語言中的鍵值對(duì)(key->value)集合,稱之為映射map。映射map是變長(zhǎng)類型,定義時(shí)不需要指定長(zhǎng)度。映射map是無序的,遍歷是的順序不可期,原因是底層由hash表實(shí)現(xiàn)。
邏輯結(jié)構(gòu)表示為:
創(chuàng)新互聯(lián)建站于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元吳忠做網(wǎng)站,已為上家服務(wù),為吳忠各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
var m = map[key_type]value_type{key1: value1, key2: value2}
var m = make(map[key_type]value_type)
// 示例,字符串型下標(biāo),字符串型值:
var m = make(map[string]string) //make()會(huì)分配內(nèi)存空間,初始化。
m["east"] = "東"
m["west"] = "西"
// 直接初始化
var m = map[string]string{"east": "東", "west": "西"}
與數(shù)組類型,使用下標(biāo)完成映射元素的訪問。
var m = map[string]string{"east": "東", "west": "西"}
fmt.Println(m["east"])
// 東
fmt.Println(m["west"])
// 西
for k, v := range mapVar {
fmt.Println(k, v)
}遍歷的順序不可期。
切片為引用類型,因此切片的默認(rèn)初始值為nil。
同時(shí)復(fù)制時(shí)為引用傳遞,修改會(huì)相互影響。
通過key獲取元素時(shí),使用第二個(gè)變量,可以接收到當(dāng)前key是否存在的布爾值。
var m = map[string]string{"east": "東", "west": "西"}
value, exists := m["south"]
// value: 東, exists: true
value, exists := m["south"]
// value: , exists: false
delete(map, key),刪除 map 中,指定的 key。如果 key 不存在,該操作不會(huì)產(chǎn)生錯(cuò)誤。
var m = map[string]string{"east": "東", "west": "西"}
delete(m, "west")
fmt.Println(m)
// map[east:東]
如果 map 的值類型可以作為 key 且所有的 value 是唯一的,那么通過下面的方法可以做到鍵值對(duì)調(diào):
var m = map[string]string{"east": "東", "west": "西"}
for k, v := range m {
m[v] = k
}完!
原文出自:小韓說課
微信關(guān)注:小韓說課
網(wǎng)頁標(biāo)題:Go語言中映射表map的使用
本文網(wǎng)址:http://chinadenli.net/article36/ppcipg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、App設(shè)計(jì)、品牌網(wǎng)站建設(shè)、小程序開發(fā)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)