新手提问在main()函数中运行testSleep()函数,为什么永远不会输出"2"和"1",读了sleep的文档也没弄明白。
'\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
7 回答5.4k 阅读
6 回答7k 阅读✓ 已解决
4 回答2.4k 阅读
1 回答3.4k 阅读
2 回答953 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
因为你输出了
\r
,这是一个换车符,会将当前行的内容,删除,而你又没有换行\n
,所以每次输出"2"总是会被下一次循环的\r
覆盖,自然看不到了。"1"也是类似的,因为外面有一层大的循环输出的"1"也会被\r
覆盖。