From d75b9d884a4b3a0df07559b2f9e8b504b9948b4d Mon Sep 17 00:00:00 2001 From: Unknwon Date: Wed, 22 Jul 2015 00:40:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B2=BE=E6=A0=A1=EF=BC=9A6.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README_gc.md | 2 +- eBook/06.3.md | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README_gc.md b/README_gc.md index 879ac92..4ed787c 100644 --- a/README_gc.md +++ b/README_gc.md @@ -15,4 +15,4 @@ Golang 编程:245386165 |更新日期 |更新内容 |----------|------------------ -|2015-07-20|6.2 函数参数与返回值 \ No newline at end of file +|2015-07-20|6.3 传递变长参数 \ No newline at end of file diff --git a/eBook/06.3.md b/eBook/06.3.md index 3d58c22..aac5d59 100644 --- a/eBook/06.3.md +++ b/eBook/06.3.md @@ -2,23 +2,28 @@ 如果函数的最后一个参数是采用 `...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) - Greeting("hello:", "Joe", "Anna", "Eileen") +```go +func Greeting(prefix string, who ...string) +Greeting("hello:", "Joe", "Anna", "Eileen") +``` 在 Greeting 函数中,变量 `who` 的值为 `[]string{"Joe", "Anna", "Eileen"}`。 如果参数被存储在一个数组 `arr` 中,则可以通过 `arr...` 的形式来传递参数调用变参函数。 -示例 6.7 varnumpar.go +示例 6.7 [varnumpar.go](examples/chapter_6/varnumpar.go) ```go package main + import "fmt" func main() {