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)) // 10Funktionstypen
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) odermixedCaps(nicht exportiert) - Wählen Sie kurze, handlungsorientierte Namen:
New,Get,Parse,Write - Vermeiden Sie
GetXfür einfache Getter – verwenden Sie einfachX - 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
- Grundlagen und Signaturen von Funktionen
- Mehrere Rückgabewerte
- Variadische Funktionen
- defer, anonyme Funktionen und Closures