This is the first tutorial in our Golang tutorial series.
What is Golang
Go also known as Golang is an open source, compiled and statically typed programming language created by google.
The primary focus of Golang is to make the development of highly available and scalable web apps simple and easy.
Why would you choose Golang as your service side programming language when there are tonnes of other languages such as python, ruby, nodejs... that do the same job.
Here are some of the pros which I found in choosing Go
- Concurrency is an inherent part of the language. As a result writing multithreaded programs is a piece of cake. This is achieved by Goroutines and channels which we will discuss later in the upcoming tutorials.
- The language spec is pretty simple. The entire spec fits in a page and you can even use it to write your own compiler :)
- The go compiler supports static linking. All the go code can be statically linked into one big fat binary and it can be deployed in cloud servers easily without worrying about dependencies.
Golang is supported on all the three platforms Mac, Windows and Linux. You can download the binary for the corresponding platform from https://golang.org/dl/
Download the OS X installer from https://golang.org/dl/. Double tap to start the installation. Follow the prompts and this should have Golang installed in /usr/local/go and would have also added the folder /usr/local/go/bin to your PATH environment variable.
Download the MSI installer from https://golang.org/dl/. Double tap to start the installation and follow the prompts. This will install Golang in location c:\Go and will also add the directory c:\Go\bin to your path environment variable.
Download the tar file from https://golang.org/dl/ and unzip it to /usr/local.
Add /usr/local/go/bin to the PATH environment variable. This should install go in linux.
In the next part Golang tutorial part 2: Hello World of this series we will setup the go workspace and write our first Go program :)
Please provide your valuable feedback and comments. Thanks for reading :).