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年最佳语言”。