Go
by Google (Chrome DevTools team) · Language · also known as Golang, Go language
Statically typed, garbage-collected language from Google that compiles to single binaries and is widely used for servers, CLIs and infrastructure tooling
Overview
Go is an open-source programming language designed at Google and maintained by the Go team and contributors. It is statically typed, garbage-collected and compiles quickly to a single static binary per platform, with goroutines and channels providing lightweight concurrency in the language itself. A deliberately small feature set and a standard code formatter (gofmt) keep codebases uniform.
Go is the implementation language of much of the infrastructure stack: Docker, Kubernetes, Caddy, Traefik, Prometheus, Gitea, Forgejo and Hugo are written in it, and Microsoft's native TypeScript compiler port uses it too. The standard library includes an HTTP server, templating, cryptography and testing, so small services often have few external dependencies; modules and the proxy-backed module system handle versioning. Caveats include a comparatively minimal type system (generics arrived late and remain restrained), verbose error handling, and a garbage collector that is not suited to hard real-time constraints.
Capabilities
- Fast compilation to static native binaries
- Goroutines and channels for concurrency
- Standard library with HTTP server, crypto and testing
- Cross-compilation for multiple OS and architectures
- Module system with checksum database
- Built-in formatting, vetting and profiling tools
Typical workflows
- Build a network service and ship it as one binary
- Cross-compile a CLI for macOS, Linux and Windows from one machine
- Write infrastructure tooling that integrates with Kubernetes or Docker
Strengths
- Simple deployment with no runtime dependency
- Short compile times
- BSD-3-Clause license
Limitations
- Minimal type system compared with Rust or TypeScript
- Verbose explicit error handling
- Garbage collection unsuitable for hard real-time work
Prerequisites
- Go toolchain from go.dev or a package manager
Who it is for
- Backend and infrastructure engineers
- DevOps and platform teams
- Developers of networked CLIs
Alternatives & comparison
Rust offers finer control and memory safety without a collector at the cost of a harder learning curve and slower compiles. Node.js and Python are dynamically typed scripting runtimes that are faster to prototype in but require a runtime to be installed where the code runs; Go is often chosen when a service must ship as a self-contained binary.
- Node.js
Server-side JavaScript runtime built on the V8 engine, governed by the OpenJS Foundation, with npm as its package ecosystem
Open sourceOpen source - Python
General-purpose, dynamically typed programming language with a large standard library and the dominant ecosystem for data science and machine learning
Open sourceOpen source - Rust
Compiled systems programming language with ownership-based memory safety, the Cargo build tool and no garbage collector
Open sourceOpen source - Swift
Apple's compiled, memory-safe, multi-paradigm language for Apple platforms, Linux, Windows and embedded targets, developed in the open at swift.org
Open sourceOpen source - TypeScript
Statically typed superset of JavaScript from Microsoft that compiles to plain JavaScript and powers editor tooling across the web ecosystem
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensehttps://go.dev/LICENSEchecked Nov 1, 2026
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Programming languages & runtimes
Homebrew
Homebrew maintainers · macOS system utilities
Community-maintained package manager for macOS and Linux that installs command-line tools (formulae) and desktop apps (casks) from the terminal
Swift
Apple Inc. · Swift & SwiftUI development
Apple's compiled, memory-safe, multi-paradigm language for Apple platforms, Linux, Windows and embedded targets, developed in the open at swift.org
TypeScript
Microsoft · Programming languages & runtimes
Statically typed superset of JavaScript from Microsoft that compiles to plain JavaScript and powers editor tooling across the web ecosystem
Lean
Lean FRO · Mathematical & statistical computing
Open-source functional programming language and interactive theorem prover with dependent types, the Mathlib mathematics library and VS Code tooling, stewarded by the Lean FRO
uv
Astral · Programming languages & runtimes
Rust-based Python package and project manager from Astral that replaces pip, venv, pip-tools and pyenv with one command-line tool
Bun
Oven · Programming languages & runtimes
All-in-one JavaScript and TypeScript runtime, package manager, bundler and test runner built on JavaScriptCore by Oven