我尝试了很多方法,比如
package main
import (
"os"
"os/exec"
)
func main() {
c := exec.Command("cls")
c.Stdout = os.Stdout
c.Run()
}
和
C.system(C.CString("cls"))
而且转义序列也不起作用
使用标准库以跨平台的方式执行此操作确实没有简单的方法。
termbox-go
似乎是一个提供跨平台终端控制的库。可能还有其他的,但它是我用过的唯一一个,它似乎运作良好。
所有你需要的是 :
package main
import (
"os"
"os/exec"
)
func main() {
cmd := exec.Command("cmd", "/c", "cls")
cmd.Stdout = os.Stdout
cmd.Run()
}
对于 linux 和 mac,以防有人需要:
fmt.Println("\033[2J")
如果您查看游乐场“康威的生命游戏”,您可以看到他们如何通过特定指令清除终端:
//line 110
fmt.Print("\x0c", l)