0Pricing
Go Academy · Lektion

Grundlagen und Signaturen von Funktionen

Parameter, Rückgabetypen und Aufrufkonventionen

Grundlagen und Signaturen von Funktionen ist eine kostenlose Go Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Go Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Go Academy-Kurs umfasst insgesamt 4 Lektionen.

Eine Funktion definieren

In Go werden Funktionen mit dem Schlüsselwort func definiert:

func greet(name string) string {
    return "Hello, " + name
}

Parameter und Argumente

Parameter sind typisiert und als Paare der Form name type aufgelistet. Mehrere Parameter desselben Typs können die Typangabe gemeinsam verwenden:

func add(x, y int) int {
    return x + y
}

func rect(w, h float64) float64 {
    return w * h
}

Funktionen ohne Rückgabewert

Funktionen, die keinen Wert zurückgeben, lassen den Rückgabetyp einfach weg. Sie kehren implizit zurück, wenn die Ausführung das Ende erreicht:

func printBanner(title string) {
    fmt.Println("=====", title, "======")
}

Funktionen aufrufen

Rufen Sie eine Funktion über ihren Namen mit Klammern und den passenden Argumenten auf:

result := add(3, 4)        // 7
fmt.Println(greet("Go"))   // Hello, Go
printBanner("Welcome")

Funktionen als Werte erster Klasse

Funktionen sind in Go Werte erster Klasse – sie können Variablen zugewiesen und als Argumente übergeben werden:

apply := func(n int, f func(int) int) int {
    return f(n)
}
double := func(n int) int { return n * 2 }
fmt.Println(apply(5, double)) // 10

Funktionstypen

Sie können benannte Funktionstypen für übersichtlichere Signaturen definieren:

type Transform func(int) int

func applyAll(n int, fns []Transform) int {
    for _, f := range fns {
        n = f(n)
    }
    return n
}

Rekursive Funktionen

Go unterstützt Rekursion. Achten Sie auf die Stacktiefe – die Stacks von Goroutinen wachsen zwar dynamisch, aber eine unbegrenzte Rekursion führt weiterhin zu einem Stacküberlauf:

func factorial(n int) int {
    if n <= 1 {
        return 1
    }
    return n * factorial(n-1)
}

Namenskonventionen für Funktionen

Namenskonventionen für Funktionen in Go:

  • Verwenden Sie MixedCaps (exportiert) oder mixedCaps (nicht exportiert)
  • Wählen Sie kurze, handlungsorientierte Namen: New, Get, Parse, Write
  • Vermeiden Sie GetX für einfache Getter – verwenden Sie einfach X
  • Boolesche Prädikate: IsValid, HasPrefix

init()-Funktion

Eine spezielle init()-Funktion wird automatisch ausgeführt, wenn das Paket geladen wird, und zwar vor main():

  • Sie akzeptiert keine Argumente und gibt nichts zurück
  • Ein Paket kann mehrere init()-Funktionen enthalten
  • Verwenden Sie sie für einmalige Initialisierungen, etwa zum Registrieren von Treibern

Funktion oder Methode

Eine Funktion ist keinem Typ zugeordnet. Eine Methode verfügt über einen Receiver (behandelt im Abschnitt „Strukturen und Methoden“). Beide verwenden das Schlüsselwort func:

// Function
func max(a, b int) int { ... }

// Method
func (c Counter) Value() int { ... }

Kurze Überprüfung

Kann eine Funktion in Go mehrere Werte zurückgeben?

Zusammenfassung: Grundlagen von Funktionen

Go-Funktionen sind ausdrucksstark und flexibel:

  • func name(params) returnType { }
  • Parameter desselben Typs können ihre Typangabe gemeinsam verwenden
  • Funktionen sind Werte erster Klasse
  • Definieren Sie Funktionstypen für wiederverwendbare Signaturen
  • Rekursion wird unterstützt; init() wird beim Laden des Pakets ausgeführt

Als Nächstes: mehrere Rückgabewerte im Detail.

Häufig gestellte Fragen

Ist die Lektion „Grundlagen und Signaturen von Funktionen“ kostenlos?

Ja — der vollständige Text von „Grundlagen und Signaturen von Funktionen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Go Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Go Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Grundlagen und Signaturen von Funktionen“?

Parameter, Rückgabetypen und Aufrufkonventionen Du übst Go Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Go Academy zu starten?

Keine Vorkenntnisse erforderlich. Go Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Grundlagen und Signaturen von Funktionen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Go Academy-Lektion Code schreiben und ausführen?

Ja. Jede Go Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen und Signaturen von Funktionen
  2. Mehrere Rückgabewerte
  3. Variadische Funktionen
  4. defer, anonyme Funktionen und Closures
← Zurück zu Go Academy