Funktionen definierst du mit func; Parametertypen stehen hinter dem Namen. Eine Besonderheit: Funktionen können mehrere Werte zurückgeben, häufig ein Ergebnis und einen Fehler (error). Du prüfst den Fehler direkt nach dem Aufruf.
Das ist Gos Weg der Fehlerbehandlung: ohne Ausnahmen, mit explizitem Prüfen.
import (
"errors"
"fmt"
)
func teile(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("Division durch null")
}
return a / b, nil
}
func main() {
ergebnis, err := teile(10, 4)
if err != nil {
fmt.Println("Fehler:", err)
return
}
fmt.Println(ergebnis) // 2.5
}Merke
Mehrere Rückgabewerte sind normal
Fehler als letzter Rückgabewert (
error)Fehler direkt nach dem Aufruf prüfen
Aufgabe
Schreibe `wurzel(x float64) (float64, error)`, die bei negativem x einen Fehler liefert.