Sobes.tech
Junior — Middle

Ko norāda parametrs, kas norādīts pirms funkcijas nosaukuma deklarācijā?

sobes.tech AI

Atbilde no AI

Go valodā funkcijas deklarācijā pirms metodes nosaukuma norādītais parametrs tiek saukts par saņēmēju (receiver). Tas sasaista funkciju ar konkrētu tipu un padara to par šī tipa metodi.

Saņēmējs var būt vērtība vai norādītājs uz tipu un ļauj izsaukt metodi, izmantojot šī tipa eksemplāru.

Piemērs:

type Point struct {
    X, Y int
}

// Metode ar Point tipu kā saņēmēju
func (p Point) Move(dx, dy int) Point {
    p.X += dx
    p.Y += dy
    return p
}

// Metode ar norādītāju kā saņēmēju
func (p *Point) MoveInPlace(dx, dy int) {
    p.X += dx
    p.Y += dy
}

Šeit (p Point) un (p *Point) ir saņēmēji, kas ļauj izsaukt metodes uz Point tipa objektiem.