我正在读取一些在github上用golang编写的代码,并且发现了非常有趣的一段代码。我将其简化为明确。在函数中返回值为空的返回值golang
func Insert(docs ...interface{}) (err error) {
for i := 0; i < 3; i++ {
err = fmt.Errorf("")
if err.Error()!="EOF" {
return
}
}
return err
}
我对这里的空回归非常困惑......它是如何工作的?他返回零作为错误或循环休息?我明白,这个问题看起来是虚构的,但我无法在go docs上找到任何有关这方面的信息......另外,我不明白我们如何返回err,也就是说,据我所知,以某种方式宣布返回。 (err错误)是否意味着我们的func中已经有了一个错误变量,如果没有指定,它将用作默认返回值?那么为什么我们在func的结尾隐含地返回err?
我会非常乐意解释。
见 “命名的返回值” 中的[ “围棋之旅”(https://tour.golang.org/basics/7)和[ “有效围棋”(HTTPS ://golang.org/doc/effective_go.html#named-results) – JimB