Go is a programming language developed at Google by Robert Griesemer, Rob Pike and Ken Thompson.
It was designed in 2007, announced in 2009 and officially released in March 2012.
Go is open source with a clear, concise syntax.
Official website of Go is htttps://golang.org where you can access its documentation.
Developers at Google were facing problems with other languages they were using.
Some offered easy development with lesser compilation and execution speed and reduced safety while other offered fast execution but with a higher development time and effort.
Thus, to solve these problems it was decided to develop a new language with easy to write syntax and a higher execution speed along with safety.
Go has following features that make it an excellent choice for application development.
- Go has a cleaner syntax that reduces the time required to write code.
- Go is statically typed meaning that you need to define the type of a variable at the time of its declaration and a variable may hold a value of same type throughout.
- Go supports concurrency meaning its programs can be run on multi core systems.
- Go has garbage collection mechanism which means that you do not have to perform memory management, Go will handle it on its own.
- Compilation and execution of Go programs is fast. One reason to this is that Go programs will not compile if you import a package but do not use it.
This ensures that unnecessary code is not compiled and hence results in faster execution time.
- Go supports Object Oriented Programming through the use of interfaces.
It does not support creating child classes as in other languages such as Java.