Guest User

Untitled

a guest
Jul 18th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. package main
  2.  
  3. import(
  4. "fmt"
  5. "log"
  6. "golang.org/x/crypto/ssh/terminal"
  7. "bufio"
  8. "os"
  9. "bytes"
  10. )
  11. func main() {
  12. reader := bufio.NewReader(os.Stdin)
  13. var buffer bytes.Buffer
  14. oldState, err := terminal.MakeRaw(0)
  15. if err != nil {
  16. log.Fatal(err)
  17. }
  18.  
  19. defer terminal.Restore(0, oldState)
  20. num_chars := 0
  21.  
  22. for true {
  23. char, _, err := reader.ReadRune();
  24. if char == 13 {
  25. fmt.Println("You typed ", num_chars, " characters")
  26. return
  27. }
  28. num_chars++
  29. if err != nil {
  30. log.Fatal(err)
  31. }
  32. buffer.WriteRune(char)
  33. fmt.Println(buffer.String())
  34. }
  35. if err != nil {
  36. fmt.Println(err)
  37. }
  38. }
  39. ~
Add Comment
Please, Sign In to add comment