Go (programming language)

Edit · View history

Go (programming language)

Go (often referred to as Golang) is a compiled statically typed programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It was publicly announced in November 2009 and became open source in 2012. Go is known for its simplicity, fast compilation, built-in concurrency support, and efficient garbage collection.

The language's syntax is derived from C, but with many modernizations: no unnecessary parentheses in control structures, limited pointer arithmetic, and a strong emphasis on readability. Go also uses interfaces (implicit satisfaction) and embedded types (composition over inheritance) as its primary mechanisms for code reuse.

Go is widely used for building web servers, APIs, cloud services, networking tools, command-line interfaces, and microservices. Notable projects written in Go include Docker, Kubernetes, Terraform, and the Hugo static site generator.

Features

History

Go was conceived in 2007 at Google to address frustrations with existing languages: slow compilation, lack of concurrency support, and complexity. Design goals included efficiency, speed of development, and ease of use. The first version (1.0) was released in March 2012, establishing a strong backwards compatibility promise.

Since then, Go has evolved steadily. Version 1.5 introduced a bootstrapping compiler written in Go itself. Version 1.11 added modules for dependency management. Version 1.18 (2022) added generics, a long-requested feature. The language is governed by the Go community under a permissive BSD license.

See also