package main
import "fmt"
// 一个函数中最多只可有一个可变参数, 如果参数列表中还有其它类型的参数,则可变参数写在最后
// 注意:参数不定,参数的个数是0-N个,也就是说可变参数可以为空
func sumNumber(num1 float64, nums ...float64) (sum, avg float64, count int) {
for _, v := range nums {
sum += v
count += 1
}
sum += num1
count += 1
avg = sum / float64(count)
return
}
func main() {
sum, avg, count := sumNumber(11, 22, 44)
fmt.Println(sum, avg, count)
// 可变参数还可以直接传递一个切片进去作为参数,传递切片参数的时候后面加三个点...
slice1 := []float64{11, 22, 55}
sum, avg, count = sumNumber(55, slice1...)
fmt.Println(sum, avg, count)
}