6 Funktionen und Methoden

Willkommen zurück zu unserer dritten Folge von “Einführung in GoLang”. Heute werden wir uns mit Funktionen und Methoden beschäftigen. Diese beiden Konzepte sind essenziell, um sauberen und wiederverwendbaren Code zu schreiben.

6.1 Funktionen

Funktionen sind in Go eigenständige Einheiten von Code, die Aufgaben ausführen und optional Werte zurückgeben. Sie helfen uns, Code zu modularisieren und wiederzuverwenden.

6.1.1 Deklaration einer Funktion

Eine Funktion in Go wird mit dem Schlüsselwort func deklariert, gefolgt vom Namen der Funktion, einer Parameterliste in runden Klammern und einem optionalen Rückgabewert. Hier ein einfaches Beispiel:

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

Lassen Sie uns das aufschlüsseln:

6.1.2 Aufruf einer Funktion

Um eine Funktion aufzurufen, geben wir den Namen der Funktion gefolgt von Argumenten in runden Klammern an:

message := greet("GoLang")
fmt.Println(message)

Hier rufen wir die Funktion greet mit dem Argument “GoLang” auf und speichern das Ergebnis in der Variablen message. Anschließend drucken wir die Nachricht aus.

6.2 Mehrere Rückgabewerte

Go unterstützt Funktionen mit mehreren Rückgabewerten. Dies ist besonders nützlich, wenn eine Funktion mehr als einen Wert zurückgeben muss. Hier ein Beispiel:

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, fmt.Errorf("division by zero")
    }
    return a / b, nil
}

In dieser Funktion:

6.3 Methoden

Methoden sind spezielle Funktionen, die an einen bestimmten Datentyp gebunden sind. In Go können wir Methoden für benutzerdefinierte Typen definieren. Lassen Sie uns dies anhand eines Beispiels veranschaulichen.

6.3.1 Deklaration eines benutzerdefinierten Typs

Angenommen, wir haben einen benutzerdefinierten Typ Rectangle:

type Rectangle struct {
    width, height float64
}

6.3.2 Definition einer Methode

Nun definieren wir eine Methode area, die die Fläche des Rechtecks berechnet:

func (r Rectangle) area() float64 {
    return r.width * r.height
}

Hier:

6.3.3 Aufruf einer Methode

Um eine Methode aufzurufen, verwenden wir die Punktnotation:

rect := Rectangle{width: 10, height: 5}
fmt.Println("Area:", rect.area())

Hier erstellen wir eine Instanz von Rectangle mit einer Breite von 10 und einer Höhe von 5. Dann rufen wir die Methode area auf, um die Fläche zu berechnen und auszugeben.