Sobes.tech
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 տիպի օբյեկտների վրա։