值得阅读有关“嵌入到有效Go中”的部分。
一个常见的示例是具有Mutex的结构/映射。
type SafeStruct struct { SomeField string *sync.Mutex}打字容易得多
safe := SafeStruct{SomeField: "init value"}safe.Lock()defer safe.Unlock()safe.SomeField = "new value"而不是必须编写适当的包装器函数(重复的)或遇到困难
safe.mutex.Unlock()
当你将永远做互斥领域的唯一事情就是访问方法(
Lock()和
Unlock()在这种情况下)
当您尝试在嵌入式字段上使用多种功能(实现像这样的接口
io.ReadWriter)时,这将变得更加有用。



