GO語言————8.2 測試鍵值對是否存在及刪除元素
8.2 測試鍵值對是否存在及刪除元素
測試 map1 中是否存在 key1:
在例子 8.1 中,我們已經見過可以使用 val1 = map1[key1]
的方法獲取 key1 對應的值 val1。如果 map 中不存在 key1,val1 就是一個值型別的空值。
這就會給我們帶來困惑了:現在我們沒法區分到底是 key1 不存在還是它對應的 value 就是空值。
為了解決這個問題,我們可以這麼用:val1, isPresent = map1[key1]
isPresent 返回一個 bool 值:如果 key1 存在於 map1,val1 就是 key1 對應的 value 值,並且 isPresent為true;如果 key1 不存在,val1 就是一個空值,並且 isPresent 會返回 false。
如果你只是想判斷某個 key 是否存在而不關心它對應的值到底是多少,你可以這麼做:
_, ok := map1[key1] // 如果key1存在則ok == true,否則ok為false
或者和 if 混合使用:
if _, ok := map1[key1]; ok {
// ...
}
從 map1 中刪除 key1:
直接 delete(map1, key1)
就可以。
如果 key1 不存在,該操作不會產生錯誤。
示例 8.4 map_testelement.go
package main
import "fmt"
func main() {
var value int
var isPresent bool
map1 := make(map[string]int)
map1["New Delhi"] = 55
map1["Beijing"] = 20
map1["Washington"] = 25
value, isPresent = map1["Beijing"]
if isPresent {
fmt.Printf("The value of \"Beijing\" in map1 is: %d\n", value)
} else {
fmt.Printf("map1 does not contain Beijing")
}
value, isPresent = map1["Paris"]
fmt.Printf("Is \"Paris\" in map1 ?: %t\n", isPresent)
fmt.Printf("Value is: %d\n", value)
// delete an item:
delete(map1, "Washington")
value, isPresent = map1["Washington"]
if isPresent {
fmt.Printf("The value of \"Washington\" in map1 is: %d\n", value)
} else {
fmt.Println("map1 does not contain Washington")
}
}
輸出結果:
The value of "Beijing" in map1 is: 20
Is "Paris" in map1 ?: false
Value is: 0
map1 does not contain Washington
相關文章
- GO語言————8.6 將 map 的鍵值對調Go
- js如何建立、刪除或者檢測cookie是否存在JSCookie
- python字典如何刪除鍵值對Python
- GO語言————5.2 測試多返回值函式的錯誤Go函式
- Go 語言基準測試入門Go
- PHP 如何根據鍵值刪除一個陣列中的元素PHP陣列
- Go 語言區塊鏈測試實踐指南(一):GO單元測試Go區塊鏈
- 根據陣列的值刪除元素陣列
- mysql刪除主鍵索引,刪除索引語法MySql索引
- 41:判斷元素是否存在
- js刪除陣列元素中的指定值JS陣列
- Go 語言 udpproxy 除錯工具GoUDP除錯
- Go 語言 WebSocket 除錯工具GoWeb除錯
- Oracle刪除效率測試Oracle
- Go小工具系列——判斷元素是否存在於陣列中Go陣列
- jQuery如何判斷元素是否存在jQuery
- 建立元素和刪除元素
- Go 語言 udp server 除錯工具GoUDPServer除錯
- Go 語言 httpdump server 除錯工具GohttpdServer除錯
- jQuery刪除元素jQuery
- jQuery 刪除元素jQuery
- 反除錯&反反除錯 -- 利用sysctl檢測偵錯程式是否存在除錯
- GO語言學習筆記-測試篇 Study for Go ! Chapter ten- TestGo筆記APT
- jQuery 判斷頁面元素是否存在jQuery
- 多個陣列,判斷鍵值是否存在從屬關係陣列
- 使用go語言開發自動化API測試工具GoAPI
- 【c語言】求絕對值C語言
- 遊戲是否存在價值問題?遊戲
- javascript按照值刪除陣列元素程式碼例項JavaScript陣列
- GO語言敏感詞檢測Go
- Go 語言開發除錯中階Go除錯
- 物理DG刪除歸檔測試
- 給 go 語言新增中文關鍵字Go
- (c語言實現)刪除有序連結串列中重複出現的元素C語言
- Go語言經典筆試題Go筆試
- HashMap 之元素刪除HashMap
- removeChild()刪除li元素REM
- ChatGPT模擬Go語言面試 (一次小的測試)ChatGPTGo面試