code.go 700 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package main
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. "log"
  6. "os"
  7. "strings"
  8. )
  9. func readInput(file string) [][]string {
  10. content, err := ioutil.ReadFile(file)
  11. if err != nil {
  12. log.Fatal(err)
  13. }
  14. lines := strings.Split(string(content), "\n")
  15. var input [][]string
  16. for _, line := range lines {
  17. if line == "" {
  18. continue
  19. }
  20. points := strings.Split(line, "-")
  21. if len(points) != 2 {
  22. log.Fatal("Invalid input")
  23. }
  24. input = append(input, []string{points[0], points[1]})
  25. input = append(input, []string{points[1], points[0]})
  26. }
  27. return input
  28. }
  29. func main() {
  30. if len(os.Args) < 2 {
  31. log.Fatal("Please provide a file name as argument")
  32. }
  33. input := readInput(os.Args[1])
  34. fmt.Println(input)
  35. }