code.go 659 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "log"
  6. "os"
  7. )
  8. type Point struct {
  9. y, x int
  10. steps int
  11. }
  12. func readInput(file *os.File) [][]byte {
  13. scanner := bufio.NewScanner(file)
  14. var board [][]byte
  15. for scanner.Scan() {
  16. line := scanner.Text()
  17. if line == "" {
  18. break
  19. }
  20. var row []byte
  21. for i := range line {
  22. row = append(row, line[i])
  23. }
  24. board = append(board, row)
  25. }
  26. return board
  27. }
  28. func main() {
  29. if len(os.Args) < 2 {
  30. log.Fatal("You need to specify a file!")
  31. }
  32. filePath := os.Args[1]
  33. file, err := os.Open(filePath)
  34. if err != nil {
  35. log.Fatalf("Failed to open %s!\n", filePath)
  36. }
  37. board := readInput(file)
  38. fmt.Println(board)
  39. }