您好,登錄后才能下訂單哦!
這篇文章主要講解了“golang map如何刪除元素”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“golang map如何刪除元素”吧!
刪除map元素的兩種方法:1、使用delete()函數(shù)從map中刪除指定鍵值對,語法“delete(map, 鍵名)”;2、重新創(chuàng)建一個新的map對象,可以清空map中的所有元素,語法“var mapname map[keytype]valuetype”。
Go語言中 map 是一種特殊的數(shù)據(jù)結(jié)構(gòu),一種元素對(pair)的無序集合,pair 對應(yīng)一個 key(索引)和一個 value(值),所以這個結(jié)構(gòu)也稱為關(guān)聯(lián)數(shù)組或字典,這是一種能夠快速尋找值的理想結(jié)構(gòu),給定 key,就可以迅速找到對應(yīng)的 value。
Go語言map元素的刪除和清空
1、使用 delete() 函數(shù)從 map 中刪除鍵值對
Go語言提供了一個內(nèi)置函數(shù) delete(),用于刪除容器內(nèi)的元素,下面我們簡單介紹一下如何用 delete() 函數(shù)刪除 map 內(nèi)的元素。
使用 delete() 內(nèi)建函數(shù)從 map 中刪除一組鍵值對,delete() 函數(shù)的格式如下:
delete(map, 鍵名)
其中 map 為要刪除的 map 實例,鍵為要刪除的 map 中鍵值對的鍵。
從 map 中刪除一組鍵值對可以通過下面的代碼來完成:
scene := make(map[string]int)
// 準(zhǔn)備map數(shù)據(jù)
scene["route"] = 66
scene["brazil"] = 4
scene["china"] = 960
delete(scene, "brazil")
for k, v := range scene {
fmt.Println(k, v)
}
代碼輸出如下:
這個例子中使用 delete() 函數(shù)將 brazil 從 scene 這個 map 中刪除了。
2、清空 map 中的所有元素
有意思的是,Go語言中并沒有為 map 提供任何清空所有元素的函數(shù)、方法,清空 map 的唯一辦法就是重新 創(chuàng)建 一個新的 map,不用擔(dān)心垃圾回收的效率,Go語言中的并行垃圾回收效率比寫一個清空函數(shù)要高效的多。
聲明新map的方法:
var mapname map[keytype]valuetype
其中:
mapname 為 map 的變量名。
keytype 為鍵類型。
valuetype 是鍵對應(yīng)的值類型。
提示:[keytype] 和 valuetype 之間允許有空格。
在聲明的時候不需要知道 map 的長度,因為 map 是可以動態(tài)增長的,未初始化的 map 的值是 nil,使用函數(shù) len() 可以獲取 map 中 pair 的數(shù)目。
感謝各位的閱讀,以上就是“golang map如何刪除元素”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對golang map如何刪除元素這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。