在 go 中,当 key 不存在时,map 的值是零值。我在下面有一个简短的代码片段: 操场
package main
import (
"sync"
)
func main() {
var mm map[int]sync.Mutex
var m sync.Mutex
mm[1].Lock() // not work due to cannot call pointer method on mm[1] and cannot take the address of mm[1]
m.Lock() // work normal
}
mm[1]和上面有什么区别m?我用反射来检查,但看不出它们之间的区别。关于导致差异的任何线索?
守候你守候我
相关分类