go语言中变长参数函数
接受“...T”类型形式参数的函数被称为变长参数函数。一个变长参数函数只能有一个“...T”类型形式参数,并且该形式参数必须是函数参数中的最后一个形式参数(否则go编译器会报错)。变长参数函数的“...T”类型形式参数在函数体内呈现为[]T类型的变量,在函数外部,“...T”类型形式参数可匹配和接收的实参类型有两种:多个T类型变量或t...(t为[]T类型变量)。
对于变长参数函数,传入参数类型只能选择一种,要么多个T类型变量,要么t...(t为[]T类型变量)。不能混用,否则编译会报错。
func Sum(n ...int) int {
var total int
for _, v := range n {
total += v
}
return total
}
func main() {
s := []int{1, 2, 3, 4, 5, 6}
println(Sum(s...)) // 传入s...([]int类型,注意和Sum函数的形式参数...int的区别),输出21
println(Sum()) // 不传参数,不会报错,输出0
println(Sum(1)) // 传入一个参数,输出1
println(Sum(2, 4, 6, 8, 1, 0)) // 传入多个int类型变量,输出21
}
Go语言基础及实战 文章被收录于专栏
Go语言学习笔记、语法知识、技术要点和个人理解及实战

