Want to learn and master Go?

Join Exercism’s Go Track for access to 124 exercises grouped into 20 Go Concepts, with automatic analysis of your code and personal mentoring, all 100% free.

Explore concepts

About Go

package greeting

// HelloWorld greets the world.
func HelloWorld() string {
	return "Hello, World!"
}

Key Features of Go


Go

Speed

Go is fast for computers and humans. Go provides fast compilation, testing, package mgmt, and more

Concurrency

Go's concurrency mechanisms make it easy to write programs for multicore and networked machines

Statically Typed

Go's type system is expressive yet lightweight, enabling flexible and modular program construction

Portable

Go compiles to a single static executable, and cross-compilation is easy

Minimal

Go's design reduces clutter and complexity. Your favorite feature may be missing, by design!

Modern

Go has > 1 million developers and every major cloud provider uses core infrastructure written in Go

A taste of the concepts you’ll cover


See all the concepts for Go

Get mentored the Go way

Every language has its own way of doing things. Go is no different. Our mentors will help you learn to think like a Go developer and how to write idiomatic code in Go. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Go - they'll help you discover the things you don't know that you don't know.

Learn more about mentoring

Community-sourced Go exercises

The Go track on Exercism has 20 concepts and 131 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.

See all Go exercises
Go

Get started with the Go track

The best part, it’s 100% free for everyone.