go 在参数列表中使用 ...
表示可变参数,例如:code
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 展开。class