如何从Go中的地图中删除数据?例如,拥有
m := map[string]string{ "key1":"val1", "key2":"val2" };
Run Code Online (Sandbox Code Playgroud)
我想让m放下"key1",而不是通过遍历其键来复制整个地图(在某些用途中可能会变得很大).是否足以将"nil"值分配给"key1",或者是否仍然将键保留在地图结构中且指定值为nil?也就是说,如果我稍后迭代地图的键,会出现"key1"吗?
pet*_*rSO 52
内置函数
delete从映射m中删除带有键k的元素.Run Code Online (Sandbox Code Playgroud)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)
}
Run Code Online (Sandbox Code Playgroud)
输出:
map[key1:val1 key2:val2]
map[key2:val2]
Run Code Online (Sandbox Code Playgroud)