我正在使用bufio,我想删除一行。我现在遇到的问题是我需要用空格覆盖它并且感觉编程不安全。如果有一种惯用的方式来清除Stdout中的一行?
var Output *bufio.Writer = bufio.NewWriter(os.Stdout)
func MoveCursor(x int, y int) {
fmt.Fprintf(Output, "\033[%d;%dH", y, x)
}
func Print(a ...interface{}) (n int, err error) {
return fmt.Fprint(Output, a...)
}
Output.Flush()
scanner := bufio.NewScanner(os.Stdin)
const BLANK = " "
for {
MoveCursor(1, 1)
Print(BLANK)
MoveCursor(1, 1)
Print("Hello ", scanner.Text())
MoveCursor(1, 4)
Print(BLANK)
MoveCursor(1, 4)
Print("> ")
Output.Flush()
scanner.Scan()
}
有一件事特别令人惊讶的是,Output.Flush()并没有清除整个屏幕内容。