go小白求教sleep()问题

新手提问在main()函数中运行testSleep()函数,为什么永远不会输出"2"和"1",读了sleep的文档也没弄明白。
image.png

阅读 2.8k
2 个回答

因为你输出了\r,这是一个换车符,会将当前行的内容,删除,而你又没有换行\n,所以每次输出"2"总是会被下一次循环的\r覆盖,自然看不到了。"1"也是类似的,因为外面有一层大的循环输出的"1"也会被\r覆盖。

'\r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖。

不过可以试试 https://play.golang.org/

// Output

-2
\2
|2
/21
-2
\2
|2
/21
-2
\2
|2
/21
-2
\2
|2
/21
-2
\2
|2
/21

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题