go 可变参数

时间:2023-03-08 23:25:16
go 可变参数

go 在参数列表中使用 ... 表示可变参数,例如:

import "fmt"

func Minimum(first int, others ...int) int {
min := first
for _, v := range others {
if v < min {
min = v
}
}
return min
} func main() {
var slice = []int{2, 4, 6, 7, 8}
fmt.Println(Minimum(1, 2, 3, 4))
fmt.Println(Minimum(slice[0], slice[1:]...))
} // output
// 1
// 2

在 go 语言里 other 是一个 slice, 但是我们不能直接传入一个 silce 进入,否则传入的是引用。

需要用 ... 把 slice 展开。