package main import ( "fmt" "log" "os" "strings" ) func showUsage() { print(len(os.Args)) fmt.Printf("Usage: %s [input.txt]\n", os.Args[0]) } func main() { if (len(os.Args) < 3) { showUsage() return } day := os.Args[1] part := os.Args[2] var input_filename string if len(os.Args) <= 3 { input_filename = "input.txt" } else { input_filename = os.Args[3] } contents, err := os.ReadFile(input_filename) if err != nil { log.Fatal(err) } lines := strings.Split(strings.TrimRight(string(contents), "\n"), "\n") if day == "1" { if part == "1" { Day1Part1(lines) } else if part == "2" { Day1Part2(lines) } } else if day == "2" { if part == "1" { Day2Part1(lines) } else if part == "2" { Day2Part2(lines) } } }