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) }