Go (programming language)
| Go | |
|---|---|
| Paradigm | Multi-paradigm: concurrent, imperative, functional, object-oriented |
| Designed by | Robert Griesemer Rob Pike Ken Thompson |
| Developer | Google and contributors |
| First appeared | November 10, 2009 |
| Stable release | |
| Typing discipline | Inferred, static, strong, structural, nominal |
| Memory management | Garbage collection |
| Implementation language | Go, Assembly language (gc); C++ (gofrontend) |
| OS | DragonFly BSD, FreeBSD, Linux, macOS, NetBSD, OpenBSD, Plan 9, Solaris, Windows |
| License | 3-clause BSD + patent grant |
| Filename extensions | .go |
| Website | go |
| 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 | |
Go (often referred to as Golang) is a high-level, general-purpose programming language that is statically typed and compiled. Originally designed in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson, Go was publicly announced in November 2009, and is developed by Google and community contributors. Go has a simple syntax similar to C++, as well as garbage collection, structural typing, CSP-style concurrency, and a broad standard library.
There are two major implementations: