在go语言中判断元素是否存在于map中并删除指定元素示例代码
go语言在map上基于键的元素搜索是最经常使用的方法,以检索相关的值,然而,有些时候,如果元素不在map中,搜索就会失败并引起报错。
下面的代码将告诉你如何检查一个元素是否存在于map中。
代码示例:
package main
import "fmt"
func main() {
cities := map[string]string{"city1": "广州", "city2": "郴州"}
// ok是布尔值
// 如果找到则返回值,如果没有找到则返回ok=false
value, ok := cities["city2"]
if ok {
fmt.Println("value: ", value)
} else {
fmt.Println("key not found")
}
//其他方式
if value, ok = cities["city3"]; ok {
fmt.Println("value: ", value)
} else {
fmt.Println("key not found")
}
}
输出:
value: 郴州
key not found
下面的代码将告诉你从一个map中删除一些元素,比如说:
cities := map[string]string{ "city1": "广州", "city2": "郴州" };
并从城市map中删除元素 "city2"。
我这里直接使用Golang的内置函数
//从地图m中删除元素m[k]
delete(m, k)
代码示例:
package main
import "fmt"
func main() {
cities := map[string]string{"city1": "广州", "city2": "郴州"}
fmt.Println("Before : ", cities) // before delete
delete(cities, "city2")
fmt.Println("After : ", cities) // after delete
}
输出:
Before : map[city1:广州 city2:郴州]
After : map[city1:广州]
相关文章