为了防止mutex
等对象的拷贝,go 中实现了 noCopy 机制
type noCopy struct{}
// Lock is a no-op used by -copylocks checker from `go vet`.
func (*noCopy) Lock() {}
func (*noCopy) Unlock() {}
它并不能阻止编译,但是可以让 go vet 能在静态检查的时候检查出来。
类似于 Mutex
,WaitGroup
,平常开发中,如果是我们自己实现的类型嵌入了这个 noCopy
的类型,也能被 go vet 检查出来
网友评论