Junior — Middle
Функциянын декларациясында методтун атынын алдын коюлган параметр эмне билдирет?
sobes.tech AI
AIден жооп
Go тилинде функциянын жарыялануусунда методтун атынын алдында көрсөтүлгөн параметр кабулдоочу (receiver) деп аталат. Ал функцияны белгилүү бир түр менен байланыштырып, анын методуна айлантат.
Кабулдоочу маанилүү же көрсөткүч болушу мүмкүн жана ал ушул түрдүн үлгүсү аркылуу методду чакырууга мүмкүндүк берет.
Мисал:
type Point struct {
X, Y int
}
// Point түрү менен кабылдоочу менен метод
func (p Point) Move(dx, dy int) Point {
p.X += dx
p.Y += dy
return p
}
// Көрсөткүч кабылдоочу менен метод
func (p *Point) MoveInPlace(dx, dy int) {
p.X += dx
p.Y += dy
}
Бул жерде (p Point) жана (p *Point) кабылдоочулар, алар Point түрүндөгү объекттерде методдорду чакырууга мүмкүндүк берет.