方便易用的全局函數(shù)

大多數(shù)時(shí)候,只不過(guò)是寫一個(gè)簡(jiǎn)單的測(cè)試程序。例如:

package mainimport (    "log")func main(){
    log.Fatal("Come with fatal,exit with 1 \n")
}

這是Go語(yǔ)言標(biāo)準(zhǔn)log庫(kù)的用法。

無(wú)須用logger := log.New(...)來(lái)產(chǎn)生一個(gè)指針。而且可以在程序的任何地方都能使用這個(gè)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 申請(qǐng)了一個(gè)全局變量 std,并封裝了全局函數(shù) log.Fatal。

網(wǎng)友評(píng)論