方便易用的全局函数
大多数时候,只不过是写一个简单的测试程序。例如:
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。