cleaner, more readable way to initialize function map

This commit is contained in:
Stefan Harmuth 2020-12-26 11:12:16 +01:00
parent e96c1fcb3c
commit 8d855bcb63

47
main.go
View File

@ -28,40 +28,19 @@ var timeitNumber int
var myDir, _ = filepath.Abs(filepath.Dir(os.Args[0])) var myDir, _ = filepath.Abs(filepath.Dir(os.Args[0]))
func initDayFunctions() { func initDayFunctions() {
dayFunctions = make(map[int]map[int]func(puzzle tools.AoCPuzzle) interface{}, 25) dayFunctions = map[int]map[int]func(puzzle tools.AoCPuzzle) interface{}{
dayFunctions[1] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2) 1: {1: day01.Part1, 2: day01.Part2},
dayFunctions[1][1] = day01.Part1 2: {1: day02.Part1, 2: day02.Part2},
dayFunctions[1][2] = day01.Part2 3: {1: day03.Part1, 2: day03.Part2},
dayFunctions[2] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2) 4: {1: day04.Part1, 2: day04.Part2},
dayFunctions[2][1] = day02.Part1 5: {1: day05.Part1, 2: day05.Part2},
dayFunctions[2][2] = day02.Part2 6: {1: day06.Part1, 2: day06.Part2},
dayFunctions[3] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2) 7: {1: day07.Part1, 2: day07.Part2},
dayFunctions[3][1] = day03.Part1 8: {1: day08.Part1, 2: day08.Part2},
dayFunctions[3][2] = day03.Part2 9: {1: day09.Part1, 2: day09.Part2},
dayFunctions[4] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2) 10: {1: day10.Part1, 2: day10.Part2},
dayFunctions[4][1] = day04.Part1 11: {1: day11.Part1, 2: day11.Part2},
dayFunctions[4][2] = day04.Part2 }
dayFunctions[5] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[5][1] = day05.Part1
dayFunctions[5][2] = day05.Part2
dayFunctions[6] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[6][1] = day06.Part1
dayFunctions[6][2] = day06.Part2
dayFunctions[7] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[7][1] = day07.Part1
dayFunctions[7][2] = day07.Part2
dayFunctions[8] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[8][1] = day08.Part1
dayFunctions[8][2] = day08.Part2
dayFunctions[9] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[9][1] = day09.Part1
dayFunctions[9][2] = day09.Part2
dayFunctions[10] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[10][1] = day10.Part1
dayFunctions[10][2] = day10.Part2
dayFunctions[11] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[11][1] = day11.Part1
dayFunctions[11][2] = day11.Part2
} }
func execute(thisDay int) { func execute(thisDay int) {