Einführung
In Go wird eine Funktion, die eine variable Anzahl von Argumenten akzeptieren kann, als variadische Funktion bezeichnet. In diesem Lab wird Ihre Kenntnis der Verwendung variadischer Funktionen in Go getestet.
This tutorial is from open-source community. Access the source code
💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken
In Go wird eine Funktion, die eine variable Anzahl von Argumenten akzeptieren kann, als variadische Funktion bezeichnet. In diesem Lab wird Ihre Kenntnis der Verwendung variadischer Funktionen in Go getestet.
In diesem Lab müssen Sie eine Funktion namens max
implementieren, die beliebig viele ganze Zahlen als Argumente annimmt und den maximalen Wert zurückgibt.
max
sollte beliebig viele ganze Zahlen als Argumente akzeptieren.max
sollte den maximalen Wert der als Argumente übergebenen ganzen Zahlen zurückgeben.$ go run variadic-functions.go
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
## Ein weiterer wichtiger Aspekt von Funktionen in Go ist ihre Fähigkeit,
## Closures zu bilden, auf die wir im nächsten Schritt eingehen werden.
Hier ist der vollständige Code:
// [_Variadische Funktionen_](https://en.wikipedia.org/wiki/Variadic_function)
// können mit beliebig vielen Nachfolgeargumenten aufgerufen werden.
// Beispielsweise ist `fmt.Println` eine häufige variadische
// Funktion.
package main
import "fmt"
// Hier ist eine Funktion, die beliebig viele `int`s als Argumente annimmt.
func sum(nums...int) {
fmt.Print(nums, " ")
total := 0
// Innerhalb der Funktion ist der Typ von `nums`
// gleichwertig mit `[]int`. Wir können `len(nums)` aufrufen,
// mit `range` darüber iterieren usw.
for _, num := range nums {
total += num
}
fmt.Println(total)
}
func main() {
// Variadische Funktionen können auf die übliche Weise
// mit einzelnen Argumenten aufgerufen werden.
sum(1, 2)
sum(1, 2, 3)
// Wenn Sie bereits mehrere Argumente in einem Slice haben,
// wenden Sie sie auf eine variadische Funktion an, indem Sie
// `func(slice...)` wie folgt verwenden.
nums := []int{1, 2, 3, 4}
sum(nums...)
}
In diesem Lab haben Sie gelernt, wie Sie variadische Funktionen in Go verwenden. Sie haben eine Funktion namens max
implementiert, die beliebig viele ganze Zahlen als Argumente annimmt und den maximalen Wert zurückgibt.