Sobes.tech
Junior — Middle

Da li treba koristiti pokazivač na objekat tipa Receiver u trenutnom kontekstu?

sobes.tech АИ

Одговор од АИ

У Go-у, обично, показивач на објекат типа Receiver није потребан ако метод не мења стање објекта или ако је објекат мали.

Користите показивач на Receiver када:

  • Морате променити стање објекта унутар метода.
  • Објекат је велики и желите да избегнете копирање при позиву метода.

Ако метода само чита податке и објекат је мали, можете користити вредност (без показивача).

Пример:

func (r *Receiver) UpdateValue(val int) {
    r.value = val // мења стање, потребан показивач
}

func (r Receiver) PrintValue() {
    fmt.Println(r.value) // само читање, може без показивача
}

Дакле, одлука зависи од тога да ли треба променити објекат и колико је велики.