在go语言中判断元素是否存在于map中并删除指定元素示例代码

2023-06-01 00:00:00 示例 元素 是否存在

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:广州]

相关文章