-5

我有以下代码:

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)
}

这是从地图中删除多个项目的唯一方法吗?

4

2 回答 2

2

[我]这是从地图中删除多个项目的唯一方法吗?

是的。

于 2020-07-21T09:29:29.233 回答
-2

删除多个项目的唯一其他方法是遍历地图。这将删除所有项目,但您可以包装delete一些if以匹配您的模式:

package main

import "fmt"

func main() {
    var key string
    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)

    for key = range m {
        delete(m, key)
    }

    fmt.Println(m)
}
于 2020-07-21T09:42:40.013 回答