Go language is a procedural programming language initially developed at Google in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. It is a statically-typed language having syntax similar to that of C.
Programs are assembled by using packagesand it also supportsenvironment adopting patterns like dynamic languages. Go provides garbage collection, type safety, dynamic-typing capability, many advanced built-in types such as variable length arrays and key-value maps.
The Go programming language was launched in November 2009 as an open source programming language.
Compiled Language :
Go is a compiled language. It doesn’t need a Virtual Machine. Compiled languages are known for their speed as it compiles directly to machine code. In addition to thatGo compiler provides the benefits like error checking, easier deployment, code optimization etc.
Using Go we can create very reliable software as theinherent language design prevents us from doing awful stuff. For example, Go has pointer but here they are not dangerous as in C because the memory is being managedby Go and normally pointer arithmetic is not advised by default.
Garbage Collection :
In Go,garbage collector or automatic memory management is a keyfeature which is used to cleanup the memory concurrently with the execution of the program by using a tricolor mark-and-sweep algorithm.
Go has many built-infeatures designed to handle concurrency. Go uses channels which were similar to thread. And goroutines are functions capable of running concurrently with other functions.
Cross Compiling :
Go has another unique feature which is the ability to cross-compile the application to run on a different machine. Go compiler allows to generate binary code for different operating system with simple commands.