这里是Go语言代码,函数newXXX返回一个接口,但为什么它不返回一个结构体呢?
type _ABitOfEverythingServer struct {
v map[string]*examples.ABitOfEverything
m sync.Mutex
}
type ABitOfEverythingServer interface {
examples.ABitOfEverythingServiceServer // interface
examples.StreamServiceServer // interface
}
func newABitOfEverythingServer() ABitOfEverythingServer {
//<-why not return _ABitOfEverythingServer, is it a good way?
return &_ABitOfEverythingServer{
v: make(map[string]*examples.ABitOfEverything),
}
}