面试题答案
一键面试package main
import "fmt"
func main() {
m := map[string]int{"key1": 1, "key2": 2}
delete(m, "key1")
fmt.Println(m)
}
删除操作后,该键值对占用的内存不会立即释放。因为Go语言的垃圾回收机制是自动管理内存的,只有当垃圾回收器运行并检测到这块内存不再被使用时,才会回收该内存。delete
操作只是从 map
中移除了键值对的引用,使得这块内存可以被垃圾回收器标记为可回收,但并不会立即释放。