Junior — Middle
Wat betekent de parameter die vóór de naam van de methode in de functiebeschrijving staat?
sobes.tech AI
Antwoord van AI
De parameter die vóór de naam van de methode wordt aangegeven in de functieverklaring in Go wordt receiver (ontvanger) genoemd. Het verbindt de functie met een specifiek type, waardoor het een methode van dat type wordt.
De receiver kan een waarde of een pointer naar een type zijn en maakt het mogelijk om de methode aan te roepen via een instantie van dat type.
Voorbeeld:
type Point struct {
X, Y int
}
// Methode met receiver van type Point
func (p Point) Move(dx, dy int) Point {
p.X += dx
p.Y += dy
return p
}
// Methode met pointer receiver
func (p *Point) MoveInPlace(dx, dy int) {
p.X += dx
p.Y += dy
}
Hier zijn (p Point) en (p *Point) receivers die het mogelijk maken om methoden aan te roepen op objecten van het type Point.