Вопрос: Когда receiver делать указателем, а когда значением?

Go Junior Без компании
Вопрос: Когда receiver делать указателем, а когда значением?
Ответы
Pointer receiver нужен если: - метод меняет состояние - структура большая (избежать копирования) - нужно единообразие набора методов ```go package main import "fmt" type Counter struct{ N int } func (c *Counter) Inc() { c.N++ } func (c Counter) Value() int { return c.N } func main() { c := Counter{} c.Inc() // компилятор сам возьмёт адрес fmt.Println(c.Value()) } ``` Value receiver подходит для маленьких неизменяемых структур.