Sobes.tech
Junior — Middle

Ce indică parametrul specificat înaintea numelui metodei în declarația funcției?

sobes.tech AI

Răspuns de la AI

Parametrul indicat înaintea numelui metodei în declarația funcției în Go se numește receptor (receiver). Acesta leagă funcția de un anumit tip, transformând-o într-o metodă a acestui tip.

Receptorul poate fi o valoare sau un pointer către un tip și permite apelarea metodei printr-o instanță a acestui tip.

Exemplu:

type Point struct {
    X, Y int
}

// Metodă cu receptor de tip Point
func (p Point) Move(dx, dy int) Point {
    p.X += dx
    p.Y += dy
    return p
}

// Metodă cu receptor pointer
func (p *Point) MoveInPlace(dx, dy int) {
    p.X += dx
    p.Y += dy
}

Aici, (p Point) și (p *Point) sunt receptori care permit apelarea metodelor pe obiecte de tip Point.