Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shaunburdick/advent-of-code-2024
Advent of Code 2024 - This time in Golang!
https://github.com/shaunburdick/advent-of-code-2024
advent-of-code advent-of-code-2024 advent-of-code-2024-golang
Last synced: 8 days ago
JSON representation
Advent of Code 2024 - This time in Golang!
- Host: GitHub
- URL: https://github.com/shaunburdick/advent-of-code-2024
- Owner: shaunburdick
- License: gpl-3.0
- Created: 2024-11-18T14:20:01.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-11T00:59:50.000Z (about 2 months ago)
- Last Synced: 2024-12-11T01:32:52.334Z (about 2 months ago)
- Topics: advent-of-code, advent-of-code-2024, advent-of-code-2024-golang
- Language: Go
- Homepage:
- Size: 97.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Advent of Code - 2024
An attempt at [Advent of Code](https://adventofcode.com/2024) using [Go](https://go.dev)!
![[Workflow Status](https://github.com/shaunburdick/advent-of-code-2024/actions/workflows/golang.yml)](https://github.com/shaunburdick/advent-of-code-2024/actions/workflows/golang.yml/badge.svg)
Each day will be setup as a separate folder.
- [Day 0](/day-0/) - Trebuchet?! (2023 Day 1)
- [Day 1](/day-1/) - Historian Hysteria
- [Day 2](/day-2/) - Red-Nosed Reports
- [Day 3](/day-3/) - Mull It Over
- [Day 4](/day-4/) - Ceres Search
- [Day 5](/day-5/) - Print Queue
- [Day 6](/day-6/) - Guard Gallivant
- [Day 7](/day-7/) - Bridge Repair
- [Day 8](/day-8/) - Resonant Collinearity## Environment Setup
To setup your environment:
1. Install [Golang](https://go.dev/dl/) (or `brew install golang`)
2. Install [Golang CI Lint](https://github.com/golangci/golangci-lint): `brew install golangci-lint`
3. Install [Just](https://github.com/casey/just): `brew install just`
4. Install [gotestfmt](https://github.com/GoTestTools/gotestfmt): `go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest`
- Make sure your GOPATH/bin is in your PATH: `export PATH=$PATH:$(go env GOPATH)/bin`
5. Clone this repository
6. Create a new day from template: `just create X` (where X is the day number)
7. Be Merry! 🎄## Testing
To run tests for an individual day X, run `just test X` or to run all tests run `just test-all`
## Linting
To run linting for an individual day X, run `just lint X` or to run all linting run `just lint-all`
## Running
To run a solution, run `just run ` where day is the day number and part is the part number. Example: `just run 1 1` to run day 1, part 1
## Benchmarks
To run benchmarks for an individual day X, run `just bench X` or to run all benchmarks run `just bench-all`