在windows中使用golang如何清除控制台?
我试过很多方法,比如在windows中使用golang如何清除控制台?,windows,go,Windows,Go,我试过很多方法,比如 package main import ( "os" "os/exec" ) func main() { c := exec.Command("cls") c.Stdout = os.Stdout c.Run() } 及 而且转义序列也不起作用使用标准库以跨平台的方式实现这一点确实不容易 似乎是一个提供跨平台终端控制的库。可能还有其他的,但这是我用过的唯一一个,而且似乎效果很好 使用termbox go清除控制台需要先执行a,然
package main
import (
"os"
"os/exec"
)
func main() {
c := exec.Command("cls")
c.Stdout = os.Stdout
c.Run()
}
及
而且转义序列也不起作用使用标准库以跨平台的方式实现这一点确实不容易 似乎是一个提供跨平台终端控制的库。可能还有其他的,但这是我用过的唯一一个,而且似乎效果很好 使用
termbox go
清除控制台需要先执行a,然后执行a
有关更多详细信息,请参阅。您只需要:
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")
如果你看操场,你可以看到他们是如何通过一个特定的指令清除终点站的:
//第110行
格式打印(“\x0c”,l)
因为这完全取决于您的操作系统和控制台,所以您应该添加您正在使用的操作系统。如果windows看起来需要对“cls”执行system()调用,因为“cls”不是可执行文件(这是exec所期望的),那么我是堆栈溢出的新手。我添加了windows标签。这看起来很奇怪,但你的代码只能在windows中运行。为什么我们要用“cls”参数调用“cmd”,而不是直接调用“cls”。无论如何,非常感谢。原因是“cls”是DOS“shell”中的内置命令,而不是独立的可执行文件。因此,当您键入“cls”时,它只会清除正在运行的shell的屏幕,而不会运行外部命令。在go中运行命令时,直接运行命令,而不是通过shell。HTH您将如何为nix系统执行此操作?
fmt.Println("\033[2J")