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语言学习笔记、语法知识、技术要点和个人理解及实战