简介
在 Go 语言中,一种可以接受可变数量参数的函数被称为可变参数函数。本实验将测试你对如何在 Go 语言中使用可变参数函数的理解。
在 Go 语言中,一种可以接受可变数量参数的函数被称为可变参数函数。本实验将测试你对如何在 Go 语言中使用可变参数函数的理解。
在本实验中,你需要实现一个名为 max 的函数,该函数接受任意数量的整数作为参数,并返回最大值。
max 应接受任意数量的整数作为参数。max 应返回作为参数传递的整数中的最大值。$ go run variadic-functions.go
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
## Go 语言中函数的另一个关键特性是它们能够形成闭包,我们将在下文中探讨。
以下是完整代码:
// [_可变参数函数_](https://en.wikipedia.org/wiki/Variadic_function)
// 可以使用任意数量的尾随参数进行调用。
// 例如,`fmt.Println` 是一个常见的可变参数函数。
package main
import "fmt"
// 这是一个将接受任意数量的 `int` 作为参数的函数。
func sum(nums...int) {
fmt.Print(nums, " ")
total := 0
// 在函数内部,`nums` 的类型等同于 `[]int`。我们可以调用 `len(nums)`,
// 使用 `range` 对其进行迭代等操作。
for _, num := range nums {
total += num
}
fmt.Println(total)
}
func main() {
// 可变参数函数可以以通常的方式使用单个参数进行调用。
sum(1, 2)
sum(1, 2, 3)
// 如果你已经在一个切片中有多个参数,
// 可以像这样使用 `func(slice...)` 将它们应用于可变参数函数。
nums := []int{1, 2, 3, 4}
sum(nums...)
}
在本实验中,你学习了如何在 Go 语言中使用可变参数函数。你实现了一个名为 max 的函数,该函数接受任意数量的整数作为参数,并返回最大值。