如果我像这样在 Go 中创建一个循环:
package main
import (
"fmt"
"time"
)
func main() {
for i := 10; i >= 0; i-- {
fmt.Printf("Time out in %d seconds\r", i)
time.Sleep(1 * time.Second)
}
}
并在 Linux 或 macOS 终端中运行该程序,我将看到在第一次迭代中正确打印的行(Time out in 10 seconds)但在下一次迭代中(在这种情况下是每隔一个迭代),因为要打印的字符串短一个字符,我会看到上次迭代的剩余部分作为最后的附加s字符 - Time out in 9 secondss,Time out in 8 secondss,等。
有没有一种简单的方法可以在打印下一行之前从上一次迭代中清除打印的行?
繁星coding
相关分类