내가 터미널을 지우고 제 1 열로 귀하의 경우 (특정 위치로 커서를 이동 ANSI escape codes를 사용하는 것보다 다른 방법을 생각할 수 없다 :
는이 같은 데이터를 읽어 행을 1). 여기
var screen *bytes.Buffer = new(bytes.Buffer)
var output *bufio.Writer = bufio.NewWriter(os.Stdout)
그리고
터미널과 협력 작업을 쉽게하기 위해 몇 가지 기본적인 도우미 메서드입니다.
// Move cursor to given position
func moveCursor(x int, y int) {
fmt.Fprintf(screen, "\033[%d;%dH", x, y)
}
// Clear the terminal
func clearTerminal() {
output.WriteString("\033[2J")
}
그런 다음 함수 내에서 터미널을 지우고 커서를 터미널 창의 첫 번째 열과 첫 번째 행으로 이동해야합니다. 결국 계산 된 결과를 출력해야합니다.
for {
outgoing, err := input.ReadString('\n')
if err != nil {
break
}
if _, err := fmt.Sscanf(outgoing, "%f", input); err != nil {
fmt.Println("Input error!")
continue
}
// Clear console
clearTerminal()
moveCursor(1,1)
fmt.Println(outs) // prints the computed result
}
Go 생성 된 .exe를 Cygwin 또는 Msys2 bash 프롬프트에서 실행하면 Windows에서 작동하지 않습니다. 다른 방법이 있습니까? – GodEater
@GodEater Go 라이브러리에 버그가 있거나 Cygwin 또는 Msys2가 Windows에서 bash를 구현하는 방법에 버그가 있습니다. 그 외에 나는 단서가 없다, 미안. – toqueteos