在Go 程式中,全域初始化錯誤變數會帶來一個特殊問題,即它在同一包中的其他功能。為了解開這個謎團,讓我們深入研究一個具體的例子:
package main<p>import (</p><pre class="brush:php;toolbar:false">"os" "fmt"
)
var loadErr錯誤
func main() {
f, loadErr := os.Open("asdasd") if loadErr != nil { checkErr() } if f != nil { fmt.Println(f.Name()) }
}
//不會呼叫panic,因為loadErr為nil
func checkErr() {
if loadErr != nil { panic(loadErr) }
}
}
f, loadErr := os.Open("asdasd")
func main() {<pre class="brush:php;toolbar:false">_, loadErr = os.Open("asdasd")
var f *os .File<br>f, loadErr = os.Open("asdasd")
以上是為什麼Go中全域錯誤變數初始化失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!