Go
ParadigmMulti-paradigm: concurrent, imperative, functional,1 object-oriented23
Designed byRobert Griesemer
Rob Pike
Ken Thompson4
DeveloperGoogle5 and contributors
First appearedNovember 10, 20096
Stable release1.27.17 / 1 September 2026
Typing disciplineInferred, static, strong,8 structural,910 nominal
Memory managementGarbage collection
Implementation languageGo, Assembly language (gc); C++ (gofrontend)
OSDragonFly BSD, FreeBSD, Linux, macOS, NetBSD, OpenBSD,11 Plan 9,12 Solaris, Windows
License3-clause BSD13 + patent grant14
Filename extensions.go
Websitego.dev
Major implementations
gc, gofrontend, gold
Influenced by
C, Oberon-2, Limbo, Active Oberon, communicating sequential processes, Pascal, Oberon, Smalltalk, Newsqueak, Modula-2, Alef, APL, BCPL, Modula, occam
Influenced
Crystal, V

(echo:: @ )

Footnotes

  1. “Codewalk: First-Class Functions in Go”. Go supports first class functions, higher-order functions, user-defined function types, function literals, closures, and multiple return values. This rich feature set supports a functional programming style in a strongly typed language.

  2. “Is Go an object-oriented language?”. Retrieved April 13, 2019. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy.

  3. “Go: code that grows with grace”. Retrieved June 24, 2018. Go is Object Oriented, but not in the usual way.

  4. “Language Design FAQ”. The Go Programming Language. January 16, 2010. Archived from the original on July 28, 2025. Retrieved February 27, 2010.

  5. Claburn, Thomas (April 5, 2022). “Google now requires two staff to sign off each Go change”. The Register. Retrieved August 20, 2026.

  6. Griesemer, Robert; Pike, Rob; Thompson, Ken; Taylor, Ian; Cox, Russ; Kim, Jini; Langley, Adam. “Hey! Ho! Let’s Go!”. Google Open Source. Retrieved May 17, 2018.

  7. “Release 1.27.1”. September 1, 2026. Retrieved September 2, 2026.

  8. “The Go Programming Language Specification”. The Go Programming Language. Archived from the original on August 13, 2025.

  9. “Why doesn’t Go have”implements”declarations?”. The Go Programming Language. Archived from the original on July 28, 2025. Retrieved October 1, 2015.

  10. Pike, Rob [@rob_pike] (December 22, 2014). “Go has structural typing, not duck typing. Full interface satisfaction is checked and required” (Tweet). Archived from the original on April 7, 2022. Retrieved March 13, 2016 – via Twitter.

  11. “lang/go: go-1.4”. OpenBSD ports. December 23, 2014. Retrieved January 19, 2015.

  12. “Go Porting Efforts”. Go Language Resources. cat-v. January 12, 2010. Retrieved January 18, 2010.

  13. “Text file LICENSE”. The Go Programming Language. Archived from the original on July 16, 2025. Retrieved October 5, 2012.

  14. “Additional IP Rights Grant”. The Go Programming Language. Archived from the original on March 30, 2025. Retrieved October 5, 2012.