awesome-patterns/phrasebook/ch04/zero_initialization/main.go

28 lines
333 B
Go
Raw Normal View History

2018-04-14 15:41:23 +03:00
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")
}