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.