mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 22:06:51 +08:00
精校:6.3
This commit is contained in:
@@ -15,4 +15,4 @@ Golang 编程:245386165
|
|||||||
|
|
||||||
|更新日期 |更新内容
|
|更新日期 |更新内容
|
||||||
|----------|------------------
|
|----------|------------------
|
||||||
|2015-07-20|6.2 函数参数与返回值
|
|2015-07-20|6.3 传递变长参数
|
@@ -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() {
|
||||||
|
Reference in New Issue
Block a user