·函数的最后一个参数是
.
.
.
t
y
p
e
...type
...type的形式,说明这个函数可以处理变长参数,这个函数称为变参函数。
·参数存储在
s
l
i
c
e
slice
slice类型的变量
s
l
i
c
e
slice
slice中,则通过
s
l
i
c
e
.
.
.
slice...
slice...来传递参数,调用函数。
package main
import "fmt"
func main() {
a := min(4,3,6,1,8)
fmt.Println("The min is",a)
slice := []int{3,4,2,6,7} //slice类型
b := min(slice...) //用slice...类型进行传参 调用函数
fmt.Println("The min is",b)
}
func min(s ...int)int{ //s ... 说明参数是可变长的
if len(s)==0{ //go语言中,字符串/数组大小按长度算,而不是c中的'\0'
return 0
}
min := s[0]
for _, u := range s{ //go语言中的for-range语句迭代
if u<min{
min = u
}
}
return min
}
The min is 1
The min is 2