Junior — Middle
Учурдагы контекстте Receiver тибиндеги объектке ишараткы колдонуу керекпи?
sobes.tech AI
AIден жооп
Go-да, адатта, Receiver тиби объектке ишарачы керек эмес, эгер метод объекттин абалын өзгөртпөсө же объект кичинекей болсо.
Ишарачыны Receiverге колдонуңуз, эгер:
- Метод ичинде объекттин абалын өзгөртүшүңүз керек болсо.
- Объект чоң болсо жана сиз методду чакырганда көчүрүүнү болтурбоо үчүн.
Эгер метод гана маалыматтарды окуп жатса жана объект кичинекей болсо, баалуулукту (ишарачысыз) колдонсоңуз болот.
Мисал:
func (r *Receiver) UpdateValue(val int) {
r.value = val // абалды өзгөртүп жатат, ишарачы керек
}
func (r Receiver) PrintValue() {
fmt.Println(r.value) // гана окуу, ишарачысыз да болот
}
Ошентип, чечим объектти өзгөртүш керекпи жана анын чоңдугуна жараша болот.