6

我尝试了很多方法,比如

package main 
import (
    "os"
    "os/exec"
)

func main() {
    c := exec.Command("cls")
    c.Stdout = os.Stdout
    c.Run()
}

C.system(C.CString("cls"))

而且转义序列也不起作用

4

4 回答 4

11

使用标准库以跨平台的方式执行此操作确实没有简单的方法。

termbox-go似乎是一个提供跨平台终端控制的库。可能还有其他的,但它是我用过的唯一一个,它似乎运作良好。

使用清除控制台termbox-go将是执行 aClear然后 a 的问题Flush

有关详细信息,请参阅http://godoc.org/github.com/nsf/termbox-go 。

于 2013-10-07T03:05:35.873 回答
10

所有你需要的是 :

package main

import (
"os"
"os/exec"
)

func main() {
    cmd := exec.Command("cmd", "/c", "cls")
    cmd.Stdout = os.Stdout
    cmd.Run()
}
于 2013-10-10T07:52:01.997 回答
2

对于 linux 和 mac,以防有人需要:

fmt.Println("\033[2J")
于 2018-06-05T20:28:56.363 回答
0

如果您查看游乐场“康威的生命游戏”,您可以看到他们如何通过特定指令清除终端:

//line 110 fmt.Print("\x0c", l)

于 2019-04-22T15:41:54.103 回答