Go is a compiled, open source programming language with a small, consistent syntax, a powerful standard library, and fantastic tooling. It's a great fit for web backends and command-line tools.
Elevate your Go skills through 177 curated exercises across 29 core concepts. Master problem-solving with a structured learning path designed for modern developers.
Fans of Go (called gophers) describe Go as having the expressiveness of dynamic languages like Python or Ruby, with the performance of compiled languages like C or C++.
The language is open source, and was started by engineers at Google. It's written using a C-style syntax, has statically typed variables, manages memory using garbage collection, and is compiled into stand-alone executables.
Go is noted for the concurrent programming features built into the language core, the networking packages in the standard library (such as a web server), fast compilation and execution speed. Its simple, minimalistic and consistent language design make for a delightful experience, while the abundant and thoughtful tooling addresses traditional problems such as consistent formatting and documentation.
The home page for Go is go.dev, and there is an excellent interactive tutorial at tour.go.dev.
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
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