Go 中的 noCopy 机制

2022-08-06  本文已影响0人  wayyyy

为了防止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 能在静态检查的时候检查出来。

类似于 MutexWaitGroup ,平常开发中,如果是我们自己实现的类型嵌入了这个 noCopy 的类型,也能被 go vet 检查出来

上一篇 下一篇

猜你喜欢

热点阅读