Gofinity is open
Rustfinity taught thousands of people Rust by making them write it. Gofinity is the same idea pointed at Go - interactive, free, and open from day one.
Gofinity is live. It is a place to learn Go by writing Go: small challenges, real test suites, and a container that runs your code the way your machine would.
Where this came from
A while back we built Rustfinity, for the same reason and in the same shape. Rust has a reputation for being hard to get into, and the usual advice - read the book, then go build something - leaves a gap in the middle that a lot of people never cross. Rustfinity filled that gap with exercises you actually run.
It worked better than we expected. People finished tracks. They came back the next day. They told us the thing that made it click was not the explanations, it was that the compiler kept talking to them until they got it right, and that there was always another small problem waiting.
Go has the same gap. The syntax is famously easy to read and the tour is famously short, which makes it very easy to think you know Go and then stall the first time you need a channel, an interface you did not design, or an error path that matters. So we pointed the same idea at it.
What Gofinity is
The same things that made Rustfinity work, because there was no reason to change them:
- Interactive. Every challenge is a real Go module you edit in the browser.
Press Run and
go testruns, in a sandbox with no network, a memory cap and a timeout. You get the per-test output, not a verdict. - Fun. Challenges are small enough to finish in a sitting, grouped into tracks that go somewhere, and the streak and activity graph are there because showing up on consecutive days is most of learning a language.
- Free. All of it. No paid tier holding the interesting half hostage, no trial that expires in the middle of a track.
There is a Learn section too, for when a challenge asks for something you have not met yet: short lessons that explain a piece of Go, link the official documentation for it, and hand you the challenges that practise it.
And once you have solved something, you can publish your solution and read everyone else's. Go has strong opinions about how things should be written, and the fastest way to absorb them is to see four versions of your own twenty lines side by side.
Open, as in the repository
The content is public: the tracks, the lessons, and the sandbox runner all live in an MIT-licensed repository. If a description is wrong, a test is unfair, or a track is missing the challenge you wanted, that is a pull request rather than a support ticket.
Start with the first track. Solve one challenge, publish it, and see how far off the consensus you were.