Lectura de Golang desde stdin, cómo detectar teclas especiales (enter, retroceso ... etc.)

Tengo el siguiente programa que lee la entrada del usuario 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)
            }

Quiero colocar algún tipo de condición dentro del ciclo for para poder "romper" cuando el usuario presiona "enter" (por ejemplo) o eliminar un carácter de una cadena cuando el usuario presiona (retroceso). Sin embargo, no puedo entender cuál es la matriz de bytes o la representación de cadena de esas dos claves. ¿Cómo hago para resolver esto? enter solo imprime un \ wy la barra espaciadora imprime un carácter indefinido.