Go, also called golang, is an open source programming language initially developed at Google. It is a statically-typed language with syntax loosely derived from that of C, adding automatic memory management, type safety, some dynamic-typing capabilities, additional built-in types such as variable-length arrays and key-value maps, and a large standard library.

Go is a general-purpose language designed with systems programming in mind. While created by Google employees, including Ken Thompson, Rob Pike and Robert Griesemer, Go is an open source project with a large contributor base outside of Google. It is aimed to be efficient both for development and execution with a focus on fast compilation and increasing the maintainability of large projects. Go was originally targeted at systems programming tasks such as building server/web applications, high throughput middle-ware and databases. Go has a growing ecosystem of libraries allowing it to be used for a wide variety of tasks such as developing end-user daemons, CLIs and desktop applications.

Go is expressive, concise, clean, and efficient. Its first class concurrency mechanisms make it easy to write programs that get the most out of multi-core and networked machines, while its structural type system enables flexible and modular program construction. Go compiles quickly to memory safe machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that develops like a dynamically typed, interpreted language, but performs like native code.

There are now several Go programs deployed in production inside and outside Google, as well as being supported directly by Google App Engine.

On March 28, 2012, The Go team released version 1.0, along with binary distributions.

The latest version is 1.4 released on December 10, 2014.

Go Tutorials

Go Books

Free Go Books

Go projects

Go Reference Documentation

Go official mailing lists

Go IRC channel

Online Go Compilers



history | excerpt history

Code Language (used for syntax highlighting): lang-go