- Autor

- Name
- Nelson Silva
- Social
Einführung
In der Welt der Programmierung sind Funktionen wiederverwendbare Codeblöcke, die eine bestimmte Aufgabe erfüllen. Go ist eine moderne und leistungsstarke Sprache und bietet eine Vielzahl von Funktionsmerkmalen, die es einzigartig machen.
Funktionen Deklarieren
In Go wird eine Funktion mit dem Schlüsselwort func deklariert, gefolgt vom Funktionsnamen, den Parametern (falls vorhanden) und dem Rückgabetyp.
func funktionsName(parameter1 typ1, parameter2 typ2) rueckgabeTyp {
// Funktionsrumpf
}
Zum Beispiel:
func summe(a int, b int) int {
return a + b
}
Mehrere Rückgabewerte
Eine interessante Eigenschaft von Go ist die Möglichkeit, mehrere Werte aus einer Funktion zurückzugeben.
func divisionUndRest(a int, b int) (int, int) {
return a / b, a % b
}
Diese Funktion gibt sowohl den Quotienten als auch den Rest der Division zurück.
Anonyme Funktionen und Closures
Go unterstützt anonyme Funktionen, die Closures bilden können. Anonyme Funktionen sind nützlich, wenn man eine Funktion inline definieren möchte, ohne ihr einen Namen zu geben.
func() {
fmt.Println("Dies ist eine anonyme Funktion!")
}()
Eine Closure ist eine Funktion, die Zugriff auf die Variablen ihrer äußeren Umgebung hat:
func zaehler() func() int {
zaehlerstand := 0
return func() int {
zaehlerstand++
return zaehlerstand
}
}
func main() {
meinZaehler := zaehler()
fmt.Println(meinZaehler()) // Gibt 1 aus
fmt.Println(meinZaehler()) // Gibt 2 aus
}
Variadische Parameter
Go ermöglicht auch die Verwendung variadischer Parameter, was bedeutet, dass du einer Funktion eine beliebige Anzahl von Parametern übergeben kannst. Sie werden mit ... vor dem Parametertyp definiert.
func summierung(zahlen ...int) int {
gesamt := 0
for _, num := range zahlen {
gesamt += num
}
return gesamt
}
Fazit
Funktionen in Go sind vielseitig und leistungsstark und ermöglichen es Entwicklern, sauberen, effizienten und wiederverwendbaren Code zu schreiben. Ob man mehrere Rückgabewerte nutzt, Closures einsetzt oder variadische Parameter verarbeitet – Funktionen in Go zu beherrschen ist für eine effektive Programmierung unerlässlich.