ch5-7: fix code

Fixes #69
This commit is contained in:
chai2010 2016-01-10 15:38:48 +08:00
parent 9031e24132
commit c28e6f2899
2 changed files with 9 additions and 12 deletions

View File

@ -41,15 +41,13 @@ fmt.Printf("%T\n", g) // "func([]int)"
可變參數函數經常被用於格式化字符串。下面的errorf函數構造了一個以行號開頭的經過格式化的錯誤信息。函數名的後綴f是一種通用的命名規范代表該可變參數函數可以接收Printf風格的格式化字符串。 可變參數函數經常被用於格式化字符串。下面的errorf函數構造了一個以行號開頭的經過格式化的錯誤信息。函數名的後綴f是一種通用的命名規范代表該可變參數函數可以接收Printf風格的格式化字符串。
```Go ```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, "Line %d: ", linenum)
fmt.Fprintf(os.Stderr, format, args) fmt.Fprintf(os.Stderr, format, args...)
fmt.Fprintln(os.Stderr) fmt.Fprintln(os.Stderr)
} }
linenum, name := 12, "count" linenum, name := 12, "count"
errorf(linenum, "undefined: %s", name) // "Line 12: errorf(linenum, "undefined: %s", name) // "Line 12: undefined: count"
undefined: count"
``` ```
interfac{}表示函數的最後一個參數可以接收任意類型我們會在第7章詳細介紹。 interfac{}表示函數的最後一個參數可以接收任意類型我們會在第7章詳細介紹。
@ -61,8 +59,7 @@ interfac{}表示函數的最後一個參數可以接收任意類型,我們會
**練習5.17**編寫多參數版本的ElementsByTagName函數接收一個HTML結點樹以及任意數量的標籤名返迴與這些標籤名匹配的所有元素。下面給出了2個例子 **練習5.17**編寫多參數版本的ElementsByTagName函數接收一個HTML結點樹以及任意數量的標籤名返迴與這些標籤名匹配的所有元素。下面給出了2個例子
```Go ```Go
func ElementsByTagName(doc *html.Node, name...string) func ElementsByTagName(doc *html.Node, name...string) []*html.Node
[]*html.Node
images := ElementsByTagName(doc, "img") images := ElementsByTagName(doc, "img")
headings := ElementsByTagName(doc, "h1", "h2", "h3", "h4") headings := ElementsByTagName(doc, "h1", "h2", "h3", "h4")
``` ```

View File

@ -39,7 +39,7 @@
- [x] 5.4 Errors - [x] 5.4 Errors
- [x] 5.5 Function Values - [x] 5.5 Function Values
- [x] 5.6 Anonymous Functions - [x] 5.6 Anonymous Functions
- [ ] 5.7 Variadic Functions - [x] 5.7 Variadic Functions
- [x] 5.8 Deferred Function Calls - [x] 5.8 Deferred Function Calls
- [ ] 5.9 Panic - [ ] 5.9 Panic
- [ ] 5.10 Recover - [ ] 5.10 Recover