方便易用的全局函数

大多数时候,只不过是写一个简单的测试程序。例如:

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

这是Go语言标准log库的用法。

无须用logger := log.New(...)来产生一个指针。而且可以在程序的任何地方都能使用这个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,并封装了全局函数 log.Fatal。

网友评论