Go 函数多返回值 - go 训练营

一个函数能返回不止一个结果,标准包内的许多函数返回两个值,一个期望得到的计算结果与一个错误值,或者一个表示函数是否调用正确的布尔值。 例如,下面的 findLinks 声明了两个结果,一个是发现的链接列表,另一个是错误。 func findLinks(url string) ([]string error) { resp, err := http.Get(url) if err != nil { return nil, err } if resp.StatusCode != http.StatusOK { resp.Body.Close() return nil, fmt.ErrorOf("getting %s: %s", url, resp.Status) } doc, err := html.Parse(resp.Body) resp.Body.Close() if err != nil { return nil, fmt.ErrorOf("parsing %s as HTML: %v", url, error) } return visit(nil, doc), nil } 如果调用者要使用这些返回值,必需显示的将返回值赋给变量,如下: links, err := findLinks(url) 忽略其中一个返回值可以将它赋给一个空标识符 ,如下: links, _ := findLinks(url)
欢迎参加 Go 训练营挑战,这些挑战将帮助你逐步掌握 Go 开发。Go(又称Golang)是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。在 2016 年,Go 被软件评价公司 TIOBE 选为“TIOBE 2016年最佳语言”。