mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-11-24 15:18:57 +00:00
parent
9031e24132
commit
c28e6f2899
@ -17,8 +17,8 @@ func sum(vals...int) int {
|
|||||||
sum函數返迴任意個int型參數的和。在函數體中,vals被看作是類型爲[] int的切片。sum可以接收任意數量的int型參數:
|
sum函數返迴任意個int型參數的和。在函數體中,vals被看作是類型爲[] int的切片。sum可以接收任意數量的int型參數:
|
||||||
|
|
||||||
```Go
|
```Go
|
||||||
fmt.Println(sum()) // "0"
|
fmt.Println(sum()) // "0"
|
||||||
fmt.Println(sum(3)) // "3"
|
fmt.Println(sum(3)) // "3"
|
||||||
fmt.Println(sum(1, 2, 3, 4)) // "10"
|
fmt.Println(sum(1, 2, 3, 4)) // "10"
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -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")
|
||||||
```
|
```
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user