精校:6.3

This commit is contained in:
Unknwon
2015-07-22 00:40:37 +08:00
parent eb1d9be8a0
commit d75b9d884a
2 changed files with 11 additions and 6 deletions

View File

@@ -15,4 +15,4 @@ Golang 编程245386165
|更新日期 |更新内容 |更新日期 |更新内容
|----------|------------------ |----------|------------------
|2015-07-20|6.2 函数参数与返回值 |2015-07-20|6.3 传递变长参数

View File

@@ -2,23 +2,28 @@
如果函数的最后一个参数是采用 `...type` 的形式,那么这个函数就可以处理一个变长的参数,这个长度可以为 0这样的函数称为变参函数。 如果函数的最后一个参数是采用 `...type` 的形式,那么这个函数就可以处理一个变长的参数,这个长度可以为 0这样的函数称为变参函数。
func myFunc(a, b, arg ...int) {} ```go
func myFunc(a, b, arg ...int) {}
```
这个函数接受一个类似某个类型的 slice 的参数(详见第 7 章),该参数可以通过第 5.4.4 中提到的 for 循环结构迭代。 这个函数接受一个类似某个类型的 slice 的参数(详见第 7 章),该参数可以通过第 5.4.4 中提到的 for 循环结构迭代。
示例函数和调用: 示例函数和调用:
func Greeting(prefix string, who ...string) ```go
Greeting("hello:", "Joe", "Anna", "Eileen") func Greeting(prefix string, who ...string)
Greeting("hello:", "Joe", "Anna", "Eileen")
```
在 Greeting 函数中,变量 `who` 的值为 `[]string{"Joe", "Anna", "Eileen"}` 在 Greeting 函数中,变量 `who` 的值为 `[]string{"Joe", "Anna", "Eileen"}`
如果参数被存储在一个数组 `arr` 中,则可以通过 `arr...` 的形式来传递参数调用变参函数。 如果参数被存储在一个数组 `arr` 中,则可以通过 `arr...` 的形式来传递参数调用变参函数。
示例 6.7 varnumpar.go 示例 6.7 [varnumpar.go](examples/chapter_6/varnumpar.go)
```go ```go
package main package main
import "fmt" import "fmt"
func main() { func main() {