golings
rustlings but for golang this time
You may know rustlings, right? If you don't, please go ahead and check out.
rustlings
is awesome. It is a CLI app designed to teach the awesome Rust programming language through exercises.
golings
has the very same idea, but for the Go programming language
After setting up all the tools required to run golings
you have the task to fix tiny go programs.
Installing
First, you need to have go
installed. You can install it by visiting the Go downloads page
There are two ways to install golings
go install
go install github.com/mauricioabreu/golings/golings@latest
Binaries
Go to the releases page and choose the option that best fits your environment.
Web version (playground)
@Grubba27 worked hard to create a web version: https://golings.vercel.app/
It's pretty awesome and uses the playground so you can play with the exercises without installing anything.
Doing exercises
All the exercises can be found in the directory golings/exercises/<topic>
. For every topic there is an additional README file with some resources to get you started on the topic. We really recommend that you have a look at them before you start.
Now you have the task to fix all the programs. Some of them don't compile, and you need to fix them. Some of them compile, but have tests and you need to write some code to have them all green (these are the compile
and test
modes).
Clone the repository:
git clone [email protected]:mauricioabreu/golings.git
To run the exercises in the recommended order while taking advantage of fast feedback loop, use the watch command:
golings watch
This command will run golings in interactive mode. Every time you save a file it will verify if the code is correct.
To run the next pending exercise:
golings run next
If you want to run a single exercise:
golings run variables1
In case you are stuck and need a hint:
golings hint variables1
To list all exercise while checking your progress:
golings list
To compile and run all the exercises:
golings verify
If you need help with CLI commands:
golings --help
A demo running the command golings run <exercise name>
Contributing
See CONTRIBUTING.md