code.go 912 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package main
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. "log"
  6. "os"
  7. "strconv"
  8. "strings"
  9. )
  10. func readInput(file string) (int, int) {
  11. content, err := ioutil.ReadFile(file)
  12. if err != nil {
  13. log.Fatal(err)
  14. }
  15. lines := strings.Split(string(content), "\n")
  16. if len(lines) != 2 {
  17. log.Fatal("expected 2 lines")
  18. }
  19. partsFirstLine := strings.Split(lines[0], ": ")
  20. if len(partsFirstLine) != 2 {
  21. log.Fatal("expected 2 parts")
  22. }
  23. player1, err := strconv.Atoi(partsFirstLine[1])
  24. if err != nil {
  25. log.Fatal(err)
  26. }
  27. partsSecondLine := strings.Split(lines[1], ": ")
  28. if len(partsSecondLine) != 2 {
  29. log.Fatal("expected 2 parts")
  30. }
  31. player2, err := strconv.Atoi(partsSecondLine[1])
  32. if err != nil {
  33. log.Fatal(err)
  34. }
  35. return player1, player2
  36. }
  37. func main() {
  38. if len(os.Args) < 2 {
  39. log.Fatal("Please provide a file name as argument")
  40. }
  41. player1, player2 := readInput(os.Args[1])
  42. fmt.Println(player1, player2)
  43. }