变参与递归函数变参函数递归函数01
目录01变参函数•变参函数含义•变参函数定义格式1变参函数Go语言函数可变参数•在Go语言中,函数的参数可以支持指定任意的个数与数据类型,这就是Go语言函数的可变参数•最典型的可变参数就是Printf()函数•Go语言虽然支持不定长变参,但是要注意不定长参数只能作为函数的最后一个参数,不能放在其他参数的前面语法格式func函数名(固定参数列表,v
T))(返回参数列表){函数体}•可变参数一般放在函数参数列表的末尾,也可不存在固定参数列表•“v
T”代表的其实就是变量v为T类型的切片,v和T之间为三个“
”1变参函数可变参数本质•Go语言中函数的可变参数:必须是函数的最后一个参数•这其实就是一个语法糖,效果类似于切片•要在多个函数中传递可变参数,可在传递时添加“
”•可变参数变量是一个包含所有参数的切片•如果要将这个含有可变参数的变量传递给下一个可变参数函数,可以在传递时给可变参数变量后添加“
”,这样就可以将切片中的元素进行传递,而不是传递可变参数变量本身
packagemainimport"fmt"funcsum(args
int)int{sum:=0for_,arg:=rangeargs{sum+=arg}returnsum}funcmain(){fmt
Println(sum(1,2,3))fmt
Println(sum(1,2,3,4,5,6,7))}运行结果为:628•Go语言函数可变参数,可以传入任意个数的参数•这里定义了一个函数sum(),该函数的参数是可变参数
因此我们在main函数调用的时候,可以传入任意个数的参数,但所有的参数的类型必须都是int类型的
1变参函数packagemainimport"fmt"funcprintStrs(args
string){for_,arg:=rang