使用`log.Println`和`fmt.Println`时输出顺序改变的原因?

时间:2016-12-30 06:25:17

标签: go

这是我的代码: 包主要

import "log"
import "fmt"

func main() {
    var a string = "initail"
    log.Println(a)
    var b, c int = 1, 2
    fmt.Println(b, c)
}

输出结果为:

1 2
2016/12/30 14:22:58 initail

所以我不明白为什么输出的顺序? 为什么log.Printlnfmt.Println慢?

1 个答案:

答案 0 :(得分:3)

仅在打印行为方面存在差异

  • log.Println写入Stderr
  • fmt.Println写入Stdout

两者都没有缓冲。因此StdOutStdError之前出现的事实特定于您的终端或环境。

以下是播放链接https://play.golang.org/p/0cukg_a9GR