Как очистить консоль с помощью golang в windows?

Я пробовал много способов, как

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

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

и

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

и escape-последовательность не работает

3 ответов


все, что вам нужно, это :

package main

import (
"os"
"os/exec"
)

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

на самом деле нет простого способа сделать это кросс-платформенным способом, используя стандартные библиотеки.

termbox-go кажется, что одна библиотека обеспечивает кросс-платформенный терминальный контроль. Вероятно, есть и другие, но это единственный, который я использовал, и он, похоже, работает хорошо.

очистка консоли с помощью termbox-go было бы делом сделать Clear и Flush.

посмотреть http://godoc.org/github.com/nsf/termbox-go Для больше деталей.


для linux и mac, Если кому-то это нужно:

fmt.Println("3[2J")