Junior — Middle
Was bedeutet der Parameter, der vor dem Methodennamen in der Funktionsdeklaration steht?
sobes.tech KI
Antwort von AI
Der Parameter, der vor dem Methodennamen in der Funktionsdeklaration in Go angegeben wird, heißt Empfänger (receiver). Er verbindet die Funktion mit einem bestimmten Typ und macht sie zu einer Methode dieses Typs.
Der Empfänger kann ein Wert oder ein Zeiger auf einen Typ sein und ermöglicht das Aufrufen der Methode über eine Instanz dieses Typs.
Beispiel:
type Point struct {
X, Y int
}
// Methode mit Empfänger vom Typ Point
func (p Point) Move(dx, dy int) Point {
p.X += dx
p.Y += dy
return p
}
// Methode mit Zeigerempfänger
func (p *Point) MoveInPlace(dx, dy int) {
p.X += dx
p.Y += dy
}
Hier sind (p Point) und (p *Point) Empfänger, die es erlauben, Methoden an Objekten des Typs Point aufzurufen.