Go 中同时使用fmt.Println和println为什么输出顺序不固定

go 刘宇帅 6年前 阅读量: 1713

让我们执行如下代码:

package main

import "fmt"

func main() {
    v := []int{1, 2, 3}
    for i := range v {
        println(i)
    }
    fmt.Println(v)
}

我们可能会得到如下结果(但每次都未必一样):

0
1
[1 2 3]
2

为什么呢?
fmt.Println把结果输出到标准错误(standard error)中,println把结果输出到标准输出(standard output),因为两个输出的目标不一样,所以顺序是不固定的。

提示

功能待开通!


暂无评论~