Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "bufio"
  5. "fmt"
  6. "io"
  7. "os"
  8. "strconv"
  9. )
  10.  
  11. func die(v interface{}) {
  12. fmt.Fprintln(os.Stderr, v)
  13. os.Exit(1)
  14. }
  15.  
  16. func main() {
  17. var r io.Reader = os.Stdin
  18. switch len(os.Args) {
  19. case 1:
  20. case 2:
  21. f, err := os.Open(os.Args[1])
  22. if err != nil {
  23. die(err)
  24. }
  25. defer f.Close()
  26. r = f
  27. default:
  28. die("dln: invalid arguments")
  29. }
  30. s := bufio.NewScanner(r)
  31. if !s.Scan() {
  32. return
  33. }
  34. prev, err := strconv.ParseUint(s.Text(), 10, 64)
  35. if err != nil {
  36. die(err)
  37. }
  38. for s.Scan() {
  39. cur, err := strconv.ParseUint(s.Text(), 10, 64)
  40. if err != nil {
  41. die(err)
  42. }
  43. fmt.Println(cur - prev)
  44. prev = cur
  45. }
  46. if err := s.Err(); err != nil {
  47. die(err)
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement