我正在讀取一些在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