Here are golang code, the func newXXX return an interface, but why it does not return a struct
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),
}
}