方便易用的全局函數(shù)
大多數(shù)時候,只不過是寫一個簡單的測試程序。例如:
package mainimport ( "log")func main(){ log.Fatal("Come with fatal,exit with 1 \n") }
這是Go語言標(biāo)準(zhǔn)log庫的用法。
無須用logger := log.New(...)
來產(chǎn)生一個指針。而且可以在程序的任何地方都能使用這個log。
閱讀 log.go 源碼:
...var std = New(os.Stderr, "", LstdFlags) ...// Fatal is equivalent to Print() followed by a call to os.Exit(1).func Fatal(v ...interface{}) { std.Output(2, fmt.Sprint(v...)) os.Exit(1) }
奧妙就在于 log.go 申請了一個全局變量 std,并封裝了全局函數(shù) log.Fatal。