我从 camlistore ( http://code.google.com/p/camlistore/source/browse/pkg/cacher/cacher.go ) 中看到以下语句。
var (
_ blobref.StreamingFetcher = (*CachingFetcher)(nil)
_ blobref.SeekFetcher = (*CachingFetcher)(nil)
_ blobref.StreamingFetcher = (*DiskCache)(nil)
_ blobref.SeekFetcher = (*DiskCache)(nil)
)
我知道没有创建任何变量,并且这些语句确保编译器检查 CachingFether 是否实现了 StreamingFetcher 和 SeekFetcher 的公共函数。RHS 部分使用带有 nil 参数的指针构造函数语法。这种语法在 Go 语言中是什么意思?