import (
"fmt"
"time"
)
func spinner(delay time.Duration) {
for {for _, r := range "-\\|/" {
fmt.Printf("\r%c", r)
time.Sleep(delay)
}
}
}
以上代码在windows环境和mac环境(darwin)都可以正常运行。
但在mac环境下还可以使用以下语句打印字符(但在windows环境下不行):
fmt.Printf("\b%c", r)
注:在命令行中打印字符, \r是回到当前行首,\n是换行,\b是删除前一个字符。
进阶版本:上面的代码是spinner无限循环运行,直到主函数返回,