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
- python字典如何刪除鍵值對Python
- PHP 如何根據鍵值刪除一個陣列中的元素PHP陣列
- GO語言————5.2 測試多返回值函式的錯誤Go函式
- 根據陣列的值刪除元素陣列
- mysql刪除主鍵索引,刪除索引語法MySql索引
- Go 語言基準測試入門Go
- Go 語言區塊鏈測試實踐指南(一):GO單元測試Go區塊鏈
- Go小工具系列——判斷元素是否存在於陣列中Go陣列
- 建立元素和刪除元素
- jQuery刪除元素jQuery
- jQuery 刪除元素jQuery
- python列表中是否存在某個元素Python
- 反除錯&反反除錯 -- 利用sysctl檢測偵錯程式是否存在除錯
- (c語言實現)刪除有序連結串列中重複出現的元素C語言
- HashMap 之元素刪除HashMap
- 多個陣列,判斷鍵值是否存在從屬關係陣列
- GO語言————6.10 使用閉包除錯Go除錯
- Go 語言開發除錯中階Go除錯
- 【leetcode】27. Remove Element 刪除陣列指定值的元素LeetCodeREM陣列
- GO語言敏感詞檢測Go
- 給 go 語言新增中文關鍵字Go
- VSCode 如何刪除無用的語言格式?VSCode
- AVL樹(查詢、插入、刪除)——C語言C語言
- ChatGPT模擬Go語言面試 (一次小的測試)ChatGPTGo面試
- GO語言學習筆記-測試篇 Study for Go ! Chapter ten- TestGo筆記APT
- 使用go語言開發自動化API測試工具GoAPI
- JavaScript刪除陣列元素JavaScript陣列
- go語言錯題及答案整理Go
- Go語言反射(reflect)及應用Go反射
- 遊戲是否存在價值問題?遊戲
- 從字串A中刪除字串B中存在的字母(不區分大小寫)C語言實現字串C語言
- 你是否想知道如何應對高併發?Go語言為你提供了答案!Go
- go語言變數的宣告與賦值Go變數賦值
- 淺談Oracle 主外來鍵刪除語法格式Oracle
- go語言面試選擇題11道(4)go語言深入學習Go面試
- Go語言————1、初識GO語言Go
- APP 多語言測試APP