Glossary · Programming

Go (Programming Language)

Go is a statically typed, compiled language from Google designed for simple syntax, fast builds and easy concurrency in networked services.

Updated October 6, 2026

Go (often called Golang) is a statically typed, compiled programming language created at Google and released publicly in 2009. It aims for simple syntax, fast compilation, garbage collection and built-in support for concurrent programs.

Why it matters

Go compiles to a single static binary with no separate runtime to install, which makes deployment simple. Its lightweight concurrency model, based on goroutines and channels, suits network servers, command-line tools and infrastructure software; Docker and Kubernetes are both written in Go. The language deliberately omits many features (it added generics only in version 1.18), trading expressiveness for readability and consistent code across teams.

Example

package main

import "fmt"

func main() {
    ch := make(chan string)
    go func() { ch <- "ping" }()
    fmt.Println(<-ch)
}

The go keyword starts a goroutine that sends a message into the channel, and the main function waits to receive it, printing ping.

Common mistakes

  • Ignoring returned error values, since Go uses explicit errors instead of exceptions.
  • Starting goroutines without a way to stop them, which leaks them.
  • Sharing data between goroutines without synchronization, causing a race condition.

Get notified when this term updates

Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.

This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.