对于Golang的struct组合的初始化存在问题
现在有一个struct是Engine,它组合了sync.RWMutex
type Engine struct {
sync.RWMutex
ID string
IP string
Addr string
}
在构建的时候,可以不用传入sync.RWMutex的对象
func main() {
engine := &Engine {
ID : "111",
IP : "192.168.59.103",
Addr : "localhost"}
}
为什么在这里不用对于syncRWMutex进行初始化,在Doc里看到如果组合的是Pointer的化,需要初始化。这个为什么呢,能不能有大拿来讲解一下Go的内存管理在组合的情况下到底是怎么样的,如果我不初始化sync.RWMutex,那么在调用它的方法的时候,传入的receiver是什么呢?