55 lines
925 B
Go
55 lines
925 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func main() {
|
|
|
|
lines, err := parse()
|
|
if err != nil {
|
|
fmt.Println("Error:", err)
|
|
}
|
|
|
|
var p1 int = 0
|
|
var p2 int = 0
|
|
|
|
for _, line := range lines {
|
|
numbers := strings.Fields(line)
|
|
report := make([]int, len(numbers))
|
|
for i, num := range numbers {
|
|
x, err := strconv.Atoi(num)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
report[i] = x
|
|
}
|
|
}
|
|
|
|
fmt.Println("p1: ", p1)
|
|
fmt.Println("p2: ", p2)
|
|
}
|
|
|
|
func parse() ([]string, error) {
|
|
if len(os.Args) < 2 {
|
|
return nil, fmt.Errorf("no file provided")
|
|
}
|
|
filePath := os.Args[1]
|
|
data, err := os.ReadFile(filePath)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error opening file: %v", err)
|
|
}
|
|
chunks := strings.Split(string(data), "\n")
|
|
var nonEmpthyChunks = []string{}
|
|
|
|
for _, chunk := range chunks {
|
|
if chunk != "" {
|
|
nonEmpthyChunks = append(nonEmpthyChunks, chunk)
|
|
}
|
|
}
|
|
return nonEmpthyChunks, nil
|
|
}
|