可变参数函数支持任意数量的传入参数。例如:fmt.Println 就是一个常见的可变参数函数。
package main import "fmt" // 这个函数可以使用任意数量的int型数作为参数 func sum(nums ...int) { fmt.Print(nums," ") total := 0 for _,num := range nums { total += num } fmt.Println(total) } func main() { // 可变参数函数支持使用常规方式使用, // 也支持只有一 sum(1,2) sum(1,2,3) // 如果你需要传入的参数在一个切片中,像下面一样 // "func(slice...)"把切片打散传入 nums := []int{1,3,4} sum(nums...) }
输出结果为:
$ go run variadic-functions.go [1 2] 3 [1 2 3] 6 [1 2 3 4] 10
在Go语言中函数另外一种重要的特性就是构建函数闭包。我们将在下一章节进行讲解。
下一个例子:Go by Example: Closures。
原文地址:https://www.jb51.cc/go/190627.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。