awesome-patterns/phrasebook/ch04/zero_initialization/main.go
2018-04-14 22:41:23 +10:00

28 lines
333 B
Go

package main
import (
"fmt"
"os"
)
type Logger struct {
out *os.File
}
func (l Logger) Log(s string) {
out := l.out
if out == nil {
out = os.Stderr
}
fmt.Fprintf(out, "%s [%d]: %s\n", os.Args[0],
os.Getpid(), s)
}
func (l *Logger) SetOutput(out *os.File) {
l.out = out
}
func main() {
l := Logger{}
l.Log("test")
}