目录
描述
delete函数是Go的内置函数,它按照指定的键将元素从map中删除。若要删除的键为 nil 或在map中不存在,delete 不进行任何操作。
语法和参数
函数签名
func delete(m map[Type]Type1, key Type)
| 参数名称 | 含义 |
| m | 要操作的map |
| key | 从m中要被移除的键 |
返回值:delete函数没有任何返回值。
使用示例
使用delete函数删除map中的键值对:
package main
import "fmt"
func main() {
demo := make(map[string]interface{})
demo["code"] = "Golang"
demo["author"] = "Robert Griesemer"
delete(demo, "author")
fmt.Println(demo)
// outputs: map[code:Golang]
}
注意事项
删除不存在的key
删除不存在的key时,delete不进行操作。
package main
import "fmt"
func main() {
demo := make(map[string]interface{})
delete(demo, "author")
fmt.Println(demo)
// outputs: map[]
}
删除的key为nil
删除的key为nil时,delete不进行操作。
package main
import "fmt"
func main() {
demo := make(map[interface{}]interface{})
demo["platform"] = "CentOS"
delete(demo, nil)
fmt.Println(demo)
// outputs: map[platform:CentOS]
}
线程安全
delete函数本身不存在“线程安全”的问题,由于map数据结构本身不是线程安全的,所以使用delete删除map中的键值对也不是线程安全的。

Go的delete函数用于从map中删除指定键的元素,如果键为nil或不存在,函数不会执行任何操作。map本身非线程安全,因此在多线程环境下删除操作需额外注意。

148

被折叠的 条评论
为什么被折叠?



