Go-Grundlagen
Go Functions and Multiple Return Values
Functions in Go can return several values. Learn the result-and-error pattern and variadic parameters.
Das lernst du
- Parameters and results
- Returning a value and an error
- Variadic functions
divide(a, b)
divide(10, 4)2.5, nildivide(1, 0)0, "cannot divide by zero"A result and an error
A function groups code under a name. Go functions can return several values, and the usual pattern is to return a result together with an error.
divide returns the result and an error; nil means there was no error. The underscore ignores a value you do not need. numbers ...int accepts any number of integers, and the named result total is returned by the bare return.
Das Wichtigste
- A function can return more than one value.
- nil means there was no error.
- _ ignores a value you do not need.
Ausführbares Go-Beispiel
main.go
package main
import (
"errors"
"fmt"
)
func area(width, height int) int {
return width * height
}
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("cannot divide by zero")
}
return a / b, nil
}
func sum(numbers ...int) (total int) {
for _, n := range numbers {
total += n
}
return
}
func main() {
fmt.Println(area(4, 5))
if result, err := divide(10, 4); err == nil {
fmt.Println(result)
}
_, err := divide(1, 0)
fmt.Println(err)
fmt.Println(sum(1, 2, 3, 4))
}
20
2.5
cannot divide by zero
10Üben
Öffne das Beispiel im Online-Compiler, ändere einen Wert oder füge eine Zeile hinzu und sage die Ausgabe voraus, bevor du es ausführst. Bring den Code danach absichtlich zum Scheitern und lies die Meldung des Compilers.
Lektion fertig?
Markiere sie als gelernt, um deinen Fortschritt zu verfolgen.
Dein Fortschritt ist in diesem Browser gespeichert Melde dich an, um ihn auf jedem Gerät zu behalten.
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
- Das Größte von Drei Finde die größte von drei Zahlen ohne eingebaute Maximalfunktion. Einfach
- Celsius to Fahrenheit Convert a temperature from Celsius to Fahrenheit. Einfach