Почему в Go принято возвращать указатель на структуру?
Немного посматриваю на го, но не понимаю, почему в го принято возвращать именно указатель на структуру, а не саму структуру, например.
type service struct {
name string
someService *anotherService
}
func newService(name string) *service {
return &service{
name: name,
someService: newSomeService(),
}
}
При чем независимо от размера структуры, всегда возвращают указатель, это же дороже, здесь будет, как минимум, две аллокации