Aus log.go (der Implementierung des Protokollpakets):
167 // Println calls l.Output to print to the logger.
168 // Arguments are handled in the manner of fmt.Println.
169 func (l *Logger) Println(v ...interface{}) { l.Output(2, fmt.Sprintln(v...)) }
log.Println
ist nur ein Funktions-Wrapper für fmt.Sprintln
, warum sollte ich ihn anstelle von fmt.Println
oder verwenden fmt.Sprintln
?
Irgendwelche praktischen Gründe?
os.Stderr
durch Standard . Rufenlog.SetOutput
Sie einfach an, um es an einen zu sendenio.Writer
(der sogar ein sein könntebytes.Buffer
).log is safe from concurrent goroutines
log
undfmt
in Goroutinen finden Sie unter stackoverflow.com/questions/14694088/…