如何从 Golang 的地图中删除一个键?
要从映射中删除一个键,我们可以使用 Go 的内置删除功能。需要注意的是,当我们从映射中删除一个键时,它的值也将被删除,因为键值对就像 Go 中的映射一样。
语法
删除函数的语法如下所示。
delete(map,key)
一旦我们以上述格式调用函数,那么映射中的键将被删除。
现在,让我们在 Go 代码中使用上述函数并了解它是如何工作的。
示例 1
考虑下面显示的代码
package mainimport (
"fmt"
)
func main() {
m := make(map[string]int)
m["mukul"] = 10
m["mayank"] = 9
m["deepak"] = 8
fmt.Println(m)
fmt.Println("Deleting the key named deepak from the map")
delete(m, "deepak")
fmt.Println(m)
}
在上面的代码中,我们有一个名为 m 的映射,其中包含一些字符串作为键,一些整数值是这些键的值。稍后,我们使用该delete()函数从映射中删除名为“deepak”的键,然后我们再次打印映射的内容。
如果我们使用 go run 命令运行上面的代码,main.go那么我们将在终端中得到以下输出。
输出结果
map[mukul:10 mayank:9 deepak:8]Deleting the key named deepak from the map
map[mukul:10 mayank:9]
上面的代码在大多数示例中都可以正常工作,但在一种情况下会导致恐慌。它会导致恐慌的情况是我们不确定映射中是否存在特定键。
示例 2
为了确保我们不会编写造成恐慌的代码,我们可以使用下面显示的代码。
package mainimport (
"fmt"
)
func main() {
m := make(map[string]int)
m["mukul"] = 10
m["mayank"] = 9
m["deepak"] = 8
fmt.Println(m)
fmt.Println("Deleting the key named deepak from the map")
if _, ok := m["deepak"]; ok {
delete(m, "deepak")
}
fmt.Println(m)
}
上述方法更安全,建议使用第一种方法。
输出结果
如果我们使用go run main.go命令运行上面的代码,那么我们将在终端中得到以下输出。
map[mukul:10 mayank:9 deepak:8]Deleting the key named deepak from the map
map[mukul:10 mayank:9]
以上是 如何从 Golang 的地图中删除一个键? 的全部内容, 来源链接: utcz.com/z/350398.html