Sobes.tech
Junior — Middle

O que indica o parâmetro especificado antes do nome do método na declaração da função?

sobes.tech IA

Resposta da IA

O parâmetro indicado antes do nome do método na declaração de uma função em Go chama-se receptor (receiver). Ele liga a função a um tipo específico, transformando-a em um método desse tipo.

O receptor pode ser um valor ou um ponteiro para um tipo e permite chamar o método através de uma instância desse tipo.

Exemplo:

type Point struct {
    X, Y int
}

// Método com receptor do tipo Point
func (p Point) Move(dx, dy int) Point {
    p.X += dx
    p.Y += dy
    return p
}

// Método com receptor ponteiro
func (p *Point) MoveInPlace(dx, dy int) {
    p.X += dx
    p.Y += dy
}

Aqui, (p Point) e (p *Point) são receptores que permitem chamar métodos em objetos do tipo Point.