Kav*_*our 2 loops infinite-loop go
有一个无限循环,每 5 秒调用一次 function() 。根据某些条件, function() 将打印OK或Not Ok.
这是我的代码:
package main
import (
"fmt"
"time"
"net/http"
)
func main() {
for {
dummy()
time.Sleep(5 * time.Second)
}
}
func dummy() {
resp, _ := http.Get("dummy.test.com")
if resp.StatusCode == 200 {
fmt.Println("OK")
} else {
fmt.Println("Not OK.")
}
}
Run Code Online (Sandbox Code Playgroud)
而不是打印:
OK
OK
OK
...
Run Code Online (Sandbox Code Playgroud)
反之亦然,我想要打印一行,如下所示:
OK
Run Code Online (Sandbox Code Playgroud)
当 function() 5 秒后重新执行时,我希望即将打印的数据替换同一行上以前打印的数据。
有人能指出我正确的方向吗?
您需要为此打印回车符\r,但不能使用Println。建议Printf改用
fmt.Printf("\r%s", "OK")
Run Code Online (Sandbox Code Playgroud)