Go (programming language)
programming language developed by Google and the open-source community
Go, also known as Golang, is a statically-typed concurrent programming language made by an engineer team at Google.[8][9]
Paradigm | Multi-paradigm: concurrent imperative, object-oriented[1][2] |
---|---|
Designed by | Robert Griesemer Rob Pike Ken Thompson |
Developer | The Go Authors[3] |
First appeared | November 10, 2009 |
Stable release | 1.12.7[4] / 8 July 2019; 3 September 2019; 26 February 2020; 16 July 2020; 11 August 2020; 12 November 2020; 3 December 2020; 19 January 2021; 4 February 2021; 16 February 2021; 10 March 2021; 11 March 2021; 1 April 2021; 6 May 2021; 3 June 2021; 12 July 2021; 5 August 2021; 16 August 2021; 9 September 2021; 7 October 2021; 4 November 2021; 2 December 2021; 9 December 2021; 6 January 2022; 10 February 2022; 3 March 2022; 15 March 2022; 12 April 2022; 10 May 2022; 1 June 2022; 12 July 2022; 2 August 2022; 6 September 2022; 4 October 2022; 1 November 2022; 6 December 2022; 10 January 2023; 1 February 2023; 14 February 2023; 7 March 2023; 4 April 2023; 2 May 2023; 6 June 2023; 11 July 2023; 1 August 2023; 8 August 2023; 6 September 2023; 5 October 2023; 10 October 2023; 7 November 2023; 5 December 2023; 9 January 2024; 6 February 2024; 5 March 2024; 3 April 2024 |
Typing discipline | Inferred, static, strong, structural,[5][6] nominal |
Implementation language | Go, Assembly language (gc); C++ (gofrontend) |
OS | many |
License | 3-clause BSD[3] + patent grant[7] |
Filename extensions | .go |
Website | go |
Major implementations | |
gc, gofrontend | |
Influenced by | |
C, Oberon-2, Limbo, Active Oberon, communicating sequential processes, Pascal, Oberon, Smalltalk, Newsqueak, Modula-2, Alef, APL, BCPL, Modula, occam, Erlang, | |
Influenced | |
Odin, Crystal, Zig, V (Vlang) |
Example
changeHere is a hello world program in Go.
package main
// Import fmt library through the standard library.
import "fmt"
// Define entry point.
func main() {
// Write to output.
fmt.println("Hello world!")
}
References
change- ↑ "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.
- ↑ "Go: code that grows with grace". Retrieved June 24, 2018.
Go is Object Oriented, but not in the usual way.
- ↑ 3.0 3.1 "Text file LICENSE". The Go Programming Language. Retrieved October 5, 2012.
- ↑ "Release History - The Go Programming Language". Retrieved 22 July 2019.
- ↑ "Why doesn't Go have "implements" declarations?". golang.org. Retrieved October 1, 2015.
- ↑ Pike, Rob (December 22, 2014). "Rob Pike on Twitter". Retrieved March 13, 2016.
Go has structural typing, not duck typing. Full interface satisfaction is checked and required.
- ↑ "Additional IP Rights Grant". The Go Programming Language. Retrieved October 5, 2012.
- ↑ "The Go Programming Language". golang.org. Retrieved 2021-04-13.
- ↑ "Golang: the simple programming language from Google". IONOS Digitalguide. Retrieved 2021-04-13.