Methoden vs. Funktionen
Teil des Abschnitts Logik & Ablauf der GO-Journey von Coddy. Lektion 10 von 68.
Obwohl sowohl Methoden als auch Funktionen Operationen in Go ausführen, dienen sie unterschiedlichen Zwecken und haben unterschiedliche Deklarationsmuster. Das Verständnis dieses Unterschieds ist entscheidend für das Schreiben von klarem, organisiertem Code.
Eine Funktion ist eigenständig und unabhängig. Sie gehört zu keinem bestimmten Typ:
func calculateArea(width, height float64) float64 {
return width * height
}Eine Methode ist über einen Receiver an einen bestimmten Typ gebunden. Sie gehört zu diesem Typ und kann auf dessen Daten zugreifen:
func (r Rectangle) area() float64 {
return r.Width * r.Height
}Der entscheidende Unterschied liegt darin, wie du sie aufrufst. Funktionen werden direkt über ihren Namen aufgerufen, während Methoden mithilfe der Punktnotation für Instanzen ihres zugehörigen Typs aufgerufen werden. Diese Zuordnung macht Methoden ideal für die Definition von Verhaltensweisen, die natürlicherweise zu deinen eigenen Typen gehören, während sich Funktionen gut für allgemeine Operationen eignen, die nicht an bestimmte Datenstrukturen gebunden sein müssen.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Fortgeschrittener Kontrollfluss
Switch mit `fallthrough`Abbrechen von verschachtelten SchleifenFortsetzen einer bestimmten SchleifeDie `goto`-AnweisungZusammenfassung – Fortgeschrittene Schleifensteuerung4Projekt: Einfache Aufgabenliste
Projekt-SetupEine Aufgabe hinzufügen2Structs und Methoden
Methoden für Structs definierenValue ReceiverPointer ReceiverReceiver auswählenMethoden vs. FunktionenZusammenfassung – Struct-Verhalten5Maps im Detail
Maps von StructsPointer als Map-WertePrüfen auf Nil-MapsMaps vergleichenZusammenfassung – Wortfrequenz-Zähler8Projekt: Einfache Bestandsverwaltung
ProjektübersichtLagerbestand prüfen11Abschlussherausforderungen
Einfache KontaktlisteEinfacher Zahlen-ValidatorSammler für eindeutige Elemente3Interfaces (Die Grundlagen)
Was ist ein Interface?Ein Interface definierenEin Interface implementierenInterface-Typen verwendenLeeres InterfaceType AssertionsType SwitchZusammenfassung – Formen und VerhaltenÜbe selbstständig: Online-Go-Compiler