dictionary - map - 删除数据

标签 dictionary go

如何在 Go 中从 map 中删除数据?例如,拥有

m := map[string]string{ "key1":"val1", "key2":"val2" };

我想让 m 删除“key1”而不通过迭代它的键来复制整个 map (这在某些用途中可能会变得很大)。将 nil 值分配给“key1”是否足够,或者仍然将键保留在映射结构中并分配值为 nil?也就是说,如果我以后遍历 map 的键,会出现“key1”吗?

最佳答案

Deletion of map elements

The built-in function delete removes the element with key k from a map m.

delete(m, k)  // remove element m[k] from map m

例如,

package main

import "fmt"

func main() {
    m := map[string]string{"key1": "val1", "key2": "val2"}
    fmt.Println(m)
    delete(m, "key1")
    fmt.Println(m)
}

输出:

map[key1:val1 key2:val2]
map[key2:val2]

关于dictionary - map - 删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9233564/

相关文章:

http - http请求是否自动重试?

带有映射: Running Entire Script,的Python多处理不仅仅是子功能

dictionary - 根据 Airflow 中任务的输出字典动态生成多个任务

json - 有条件地将 JSON 解码为结构的干净方法

arrays - 在 go 中解析简单值的 xml 数组

mongodb - 如何将primitive.m 断言为map[string]string

python - 自动将数据帧的列标题传递到一列中,并将相应的值作为新列

dictionary - 无法在 Jenkins Pipeline 中使用 Groovy 迭代 Map

python - 如何从其键是引用字典子集的嵌套字典创建平面字典?

javascript - 从文件中读取json数据