package main import ( "flag" "fmt" "os" "os/exec" ) var file = flag.String("f", "cards", "cards file") func main() { flag.Parse() // https://stackoverflow.com/questions/14094190/function-similar-to-getchar // disable input buffering exec.Command("stty", "-F", "/dev/tty", "cbreak", "min", "1").Run() // do not display entered characters on the screen exec.Command("stty", "-F", "/dev/tty", "-echo").Run() // restore the echoing state when exiting defer exec.Command("stty", "-F", "/dev/tty", "echo").Run() for { fmt.Println("hello world") var b []byte = make([]byte, 1) os.Stdin.Read(b) if string(b) == 'y' { } else if string(b) == 'n' { } else { } } }