Подтвердить что ты не робот

Почему я должен использовать log.Println вместо fmt.Println?

Из log.go (реализация пакета журнала):

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 - это просто оболочка функции для fmt.Sprintln, почему я должен использовать его вместо fmt.Println или fmt.Sprintln?

Любые практические причины?

4b9b3361

Ответ 1

Две вещи разные:

  1. Печать через журнал пакетов защищена от одновременных операций (в то время как обычный fmt - нет)

  2. Журнал может добавить информацию о времени автоматически.

Так что это две совершенно разные вещи. log для регистрации и fmt для форматирования. (Хорошо, журнал использует те же глаголы и флаги, но это просто удобно).