mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2025-12-18 19:54:21 +08:00
第5章,部分字词修订。
This commit is contained in:
@@ -55,7 +55,7 @@ links, err := findLinks(url)
|
||||
links, _ := findLinks(url) // errors ignored
|
||||
```
|
||||
|
||||
一个函数内部可以将另一个有多返回值的函数作为返回值,下面的例子展示了与findLinks有相同功能的函数,两者的区别在于下面的例子先输出参数:
|
||||
一个函数内部可以将另一个有多返回值的函数调用作为返回值,下面的例子展示了与findLinks有相同功能的函数,两者的区别在于下面的例子先输出参数:
|
||||
|
||||
```Go
|
||||
func findLinksLog(url string) ([]string, error) {
|
||||
@@ -64,7 +64,7 @@ func findLinksLog(url string) ([]string, error) {
|
||||
}
|
||||
```
|
||||
|
||||
当你调用接受多参数的函数时,可以将一个返回多参数的函数作为该函数的参数。虽然这很少出现在实际生产代码中,但这个特性在debug时很方便,我们只需要一条语句就可以输出所有的返回值。下面的代码是等价的:
|
||||
当你调用接受多参数的函数时,可以将一个返回多参数的函数调用作为该函数的参数。虽然这很少出现在实际生产代码中,但这个特性在debug时很方便,我们只需要一条语句就可以输出所有的返回值。下面的代码是等价的:
|
||||
|
||||
```Go
|
||||
log.Println(findLinks(url))
|
||||
@@ -82,7 +82,7 @@ func HourMinSec(t time.Time) (hour, minute, second int)
|
||||
|
||||
虽然良好的命名很重要,但你也不必为每一个返回值都取一个适当的名字。比如,按照惯例,函数的最后一个bool类型的返回值表示函数是否运行成功,error类型的返回值代表函数的错误信息,对于这些类似的惯例,我们不必思考合适的命名,它们都无需解释。
|
||||
|
||||
如果一个函数将所有的返回值都显示的变量名,那么该函数的return语句可以省略操作数。这称之为bare return。
|
||||
如果一个函数所有的返回值都有显式的变量名,那么该函数的return语句可以省略操作数。这称之为bare return。
|
||||
|
||||
```Go
|
||||
// CountWordsAndImages does an HTTP GET request for the HTML
|
||||
@@ -96,7 +96,7 @@ func CountWordsAndImages(url string) (words, images int, err error) {
|
||||
resp.Body.Close()
|
||||
if err != nil {
|
||||
err = fmt.Errorf("parsing HTML: %s", err)
|
||||
return
|
||||
return
|
||||
}
|
||||
words, images = countWordsAndImages(doc)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user