Go基础 专题
专题目录
您的位置:go > Go基础 专题 > Go可变参数的函数实例
Go可变参数的函数实例
作者:--    发布时间:2019-11-20

可变参数的函数可以用任何数量的参数来调用。 例如,fmt.println()就是一个常见的可变函数。

所有的示例代码,都放在 f:\worksp\golang 目录下。安装go编程环境请参考:http://www.h3.com/go/go_environment.html

这里有一个函数将任意数量的int作为参数。可变参数的函数可以通过单独的参数以通常的方式调用。
如果已经在一个切片中有多个参数,使用func(slice ...)函数将它们应用到一个可变函数。

go中的函数的另一个关键方面是它们形成闭包的能力,我们将在下面讨论和学习。

variadic-functions.go的完整代码如下所示 -

package main

import "fmt"

// here's a function that will take an arbitrary number
// of `ints` as arguments.
func sum(nums ...int) {
    fmt.print(nums, " ")
    total := 0
    for _, num := range nums {
        total += num
    }
    fmt.println(total)
}

func main() {

    // variadic functions can be called in the usual way
    // with individual arguments.
    sum(1, 2)
    sum(1, 2, 3)

    // if you already have multiple args in a slice,
    // apply them to a variadic function using
    // `func(slice...)` like this.
    nums := []int{1, 2, 3, 4}
    sum(nums...)
}

执行上面代码,将得到以下输出结果 -

f:\worksp\golang>go run variadic-functions.go
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册