【发布时间】:2020-07-21 09:24:02
【问题描述】:
我有以下代码:
package main
import "fmt"
func main() {
var m = make(map[string]int)
m["x-edge-location"] = 10
m["x-edge-request-id"] = 20
m["x-edge-response-result-type"] = 30
m["x-edge-result-type"] = 40
fmt.Println(m)
delete(m, "x-edge-result-type")
delete(m, "x-edge-location")
fmt.Println(m)
}
这是从地图中删除多个项目的唯一方法吗?
【问题讨论】:
-
您还想怎么做?
delete只需要一个键,因此您需要调用它的次数与要删除的元素一样多。你可以遍历一段键来删除,但这几乎是一样的。 -
根据博客,只有一种删除键的方法,即基于每个键。 blog.golang.org/mapsstackoverflow.com/questions/1736014/delete-mapkey-in-go
-
是的,如果您需要删除多个项目,这很简单,自己编写一个可变参数函数并使用。
-
好的,我明白了,谢谢
-
根据您需要删除的元素数量,使用您想要保留的元素创建一个新数组可能会更容易。
标签: go