Golang lendo a partir de stdin, como detectar teclas especiais (enter, backspace ... etc)
Eu tenho o seguinte programa que lê a entrada do usuário de stdin:
var input string = ""
exec.Command("stty", "-F", "/dev/tty", "cbreak", "min", "1").Run()
exec.Command("stty", "-F", "/dev/tty", "-echo").Run()
var b []byte = make([]byte, 1)
for {
input += string(b)
}
Eu quero colocar algum tipo de condição dentro do loop for para que eu possa "quebrar" quando o usuário pressionar "enter" (por exemplo) ou remover um caractere de uma string quando o usuário pressionar (backspace). No entanto, não consigo descobrir qual é a matriz de bytes ou a representação de string dessas duas chaves. Como faço para descobrir isso? enter apenas imprime a \ we backspace atribui um caractere indefinido.