地图 - 删除数据

时间:2012-02-10 19:22:42

标签: dictionary go

如何从Go中的地图中删除数据?例如,有

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

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

1 个答案:

答案 0 :(得分:52)

  

Deletion of map elements

     

内置函数delete从地图中删除带有键k的元素   米。

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]