Go 函数命名返回值 - go 训练营
Go 的返回值可被命名,它们会被视作定义在函数顶部的变量。如下:
func Size(rect image.Rectangle) (width, height int)
一个函数如果有命名的返回值,可以省略 return 语句的参数,这称为裸返回。
func CountWordAndImages(url string) (words, image int,err error) {
resp, err := http.Get(url);
if err != nil {
return
}
doc, err := html.Parse(resp.Body)
resp.Body.Close()
if err != nil {
err = fmt.Errorf("parsing HTML: %s", err)
return
}
words, images = countWordsAndImages(doc)
return
}
在上面的函数中,每个 return 语句都等同于:
return words, images, err
裸返回语句应当仅用在短函数中。在长的函数中它们会影响代码的可读性。
欢迎参加 Go 训练营挑战,这些挑战将帮助你逐步掌握 Go 开发。Go(又称Golang)是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。在 2016 年,Go 被软件评价公司 TIOBE 选为“TIOBE 2016年最佳语言”。