删除映射中的元素
Golang 提供了一个内置的函数 delete()用于删除集合中的元素,下面是一个简单的例子:
delete(myMap, "hello")
上面的代码将从 myMap 中删除键为 hello 的键值对。如果 hello 这个键不存在,那么这个调用将什么都不会发生,也不会有什么副作用。但是如果传入的映射的变量的值为 nil,该调用将导致程序抛出异常(panic)。
还以前面定义的 myColors 映射为例,我们用 delete() 函数删除其中的 Coral:
// 创建一个映射,存储颜色以及颜色对应的十六进制代码myColors := map[string]string{"AliceBlue":"#f0f8ff","Coral":"#ff7F50","DarkGray":"#a9a9a9","ForestGreen": "#228b22",}// 删除键为Coral的键值对delete(myColors, "Coral")// 显示映射里的所有颜色for key, value := range myColors {fmt.Printf("Key: %s Value: %s\n", key, value)}
执行上面的代码,发现输出的结果中已经没有 Coral 了:
Key: DarkGray Value: #a9a9a9Key: ForestGreen Value: #228b22Key: AliceBlue Value: #f0f8ff
