下面这段代码输出什么?

func main() {  
    s := make(map[string]int)
    delete(s, "h")
    fmt.Println(s["h"])
}

A. runtime panic B. 0 C. compilation error

B 0 delete 一个不存在的key并不会panic 输出一个不存在的key会输出类型的零值

扩展

func main() {
    var s map[string]int
    delete(s, "h")
    s["h"] = 1
    fmt.Println(s["h"])
}

delete nil map 程序也不会panic 但是往nil map 写数据会panic