diff --git a/ch5/ch5-07.md b/ch5/ch5-07.md index 7913323..c45e819 100644 --- a/ch5/ch5-07.md +++ b/ch5/ch5-07.md @@ -17,8 +17,8 @@ func sum(vals...int) int { sum函數返迴任意個int型參數的和。在函數體中,vals被看作是類型爲[] int的切片。sum可以接收任意數量的int型參數: ```Go -fmt.Println(sum()) // "0" -fmt.Println(sum(3)) // "3" +fmt.Println(sum()) // "0" +fmt.Println(sum(3)) // "3" fmt.Println(sum(1, 2, 3, 4)) // "10" ``` @@ -41,15 +41,13 @@ fmt.Printf("%T\n", g) // "func([]int)" 可變參數函數經常被用於格式化字符串。下面的errorf函數構造了一個以行號開頭的,經過格式化的錯誤信息。函數名的後綴f是一種通用的命名規范,代表該可變參數函數可以接收Printf風格的格式化字符串。 ```Go -func errorf(linenum int, format string, args...interface{}) -{ +func errorf(linenum int, format string, args ...interface{}) { fmt.Fprintf(os.Stderr, "Line %d: ", linenum) - fmt.Fprintf(os.Stderr, format, args…) + fmt.Fprintf(os.Stderr, format, args...) fmt.Fprintln(os.Stderr) } linenum, name := 12, "count" -errorf(linenum, "undefined: %s", name) // "Line 12: -undefined: count" +errorf(linenum, "undefined: %s", name) // "Line 12: undefined: count" ``` interfac{}表示函數的最後一個參數可以接收任意類型,我們會在第7章詳細介紹。 @@ -61,8 +59,7 @@ interfac{}表示函數的最後一個參數可以接收任意類型,我們會 **練習5.17:**編寫多參數版本的ElementsByTagName,函數接收一個HTML結點樹以及任意數量的標籤名,返迴與這些標籤名匹配的所有元素。下面給出了2個例子: ```Go -func ElementsByTagName(doc *html.Node, name...string) -[]*html.Node +func ElementsByTagName(doc *html.Node, name...string) []*html.Node images := ElementsByTagName(doc, "img") -headings := ElementsByTagName(doc, "h1", "h2", "h3", "h4") -``` \ No newline at end of file +headings := ElementsByTagName(doc, "h1", "h2", "h3", "h4") +``` diff --git a/progress.md b/progress.md index cc60e19..46778cf 100644 --- a/progress.md +++ b/progress.md @@ -39,7 +39,7 @@ - [x] 5.4 Errors - [x] 5.5 Function Values - [x] 5.6 Anonymous Functions - - [ ] 5.7 Variadic Functions + - [x] 5.7 Variadic Functions - [x] 5.8 Deferred Function Calls - [ ] 5.9 Panic - [ ] 5.10 Recover