Go语言函数可变参数教程

在 中, 的 可以支持指定任意的个数与 ,这就是 Go 语言函数的可变参数,最典型的可变参数就是 函数。

...

Go语言函数可变参数详解

定义

func funName(args ...paramType){ }

说明

...

案例

Go语言函数可变参数

Go 语言函数可变参数,可以传入任意个数的参数

package main import ( "fmt" ) func sum(args ...int)int{ sum := 0 for _, arg := range args{ sum += arg } return sum } func main() { fmt.Println("嗨客网(www.haicoder.net)") //Go语言函数可变参数,可以传入任意个数的参数 retSum1 := sum(10, 20) retSum2 := sum(10, 20, 30, 50) fmt.Println("retSum1 =", retSum1, ", retSum2 =", retSum2) }

程序运行后,控制台输出如下:

13_golang函数可变参数.png

我们定义了一个函数 sum,该函数的参数是可变参数,因此我们在 main 函数调用的时候,可以传入任意个数的参数,但所有的参数的类型必须都是 类型的。

最后,我们看到,我们传入了两个参数 10 和 20,最后求出了他们的和,输入了四个参数,同样求出了这四个数的和。

Go语言函数可变参数

Go 语言函数可变参数,可以传入任意个数的参数

package main import ( "fmt" ) func printStrs(args ...string){ for _, arg := range args{ fmt.Print(arg, ", ") } fmt.Println() } func main() { fmt.Println("嗨客网(www.haicoder.net)") //Go语言函数可变参数,可以传入任意个数的参数 printStrs("Hello", "HaiCoder") printStrs("I", "Love", "ShangHai") }

程序运行后,控制台输出如下:

14_golang函数可变参数.png

我们定义了一个函数 printStrs,该函数的参数是可变参数,因此我们在 main 函数调用的时候,可以传入任意个数的参数,但所有的参数的类型必须都是 类型的。

最后,我们看到,我们分别传入了两个参数和四个参数,同样都输出了他们的结果。

Go语言函数参数可变参数总结

...
func funName(args ...paramType){ }