为什么我应该使用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.Printlnor

fmt.Sprintln

有实际原因吗?

回答:

两件事不同:

  1. 通过包日志进行打印对于并发goroutine是安全的(而普通的fmt则不是)

  2. 日志可以自动添加计时信息。

因此,这是两件完全不同的事情。log用于记录和fmt格式化。(好吧,log使用相同的动词和标志,但这很方便)。

以上是 为什么我应该使用log.Println而不是fmt.Println? 的全部内容, 来源链接: utcz.com/qa/403028.html

回到顶部