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]))
func initDayFunctions() {
dayFunctions = make(map[int]map[int]func(puzzle tools.AoCPuzzle) interface{}, 25)
dayFunctions[1] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[1][1] = day01.Part1
dayFunctions[1][2] = day01.Part2
dayFunctions[2] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[2][1] = day02.Part1
dayFunctions[2][2] = day02.Part2
dayFunctions[3] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[3][1] = day03.Part1
dayFunctions[3][2] = day03.Part2
dayFunctions[4] = make(map[int]func(puzzle tools.AoCPuzzle) interface{}, 2)
dayFunctions[4][1] = day04.Part1
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
dayFunctions = map[int]map[int]func(puzzle tools.AoCPuzzle) interface{}{
1: {1: day01.Part1, 2: day01.Part2},
2: {1: day02.Part1, 2: day02.Part2},
3: {1: day03.Part1, 2: day03.Part2},
4: {1: day04.Part1, 2: day04.Part2},
5: {1: day05.Part1, 2: day05.Part2},
6: {1: day06.Part1, 2: day06.Part2},
7: {1: day07.Part1, 2: day07.Part2},
8: {1: day08.Part1, 2: day08.Part2},
9: {1: day09.Part1, 2: day09.Part2},
10: {1: day10.Part1, 2: day10.Part2},
11: {1: day11.Part1, 2: day11.Part2},
}
}
func execute(thisDay int) {