bufio.Scanner

时间:2016-06-06 11:09:54

标签: go cmd

我使用golang接收mtr信息,并在完成一些工作后将其发送到os.stdout 但是输出是无序的。

下面的代码
scanner := bufio.NewScanner(os.Stdin)
    for scanner.Scan() {
        input := scanner.Text()
        fmt.Println(input)
    }

正确的顺序如下所示

此处的图片说明

enter image description here

这是上面代码的输出:

此处的图片说明

enter image description here

1 个答案:

答案 0 :(得分:1)

mtr程序正在使用特殊的终端转义序列重新绘制它所写的行。它的输出依次为

这就是你失败的原因。