<

Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x

Getting Started With Go Programming

Published on
6,024 Points
2,424 Views
6 Endorsements
Last Modified:
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation, easy programming and fast execution.
Go Programming language was designed by Google in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson with an aim for it to be “C for the 21st century”. It is basically an open-source, general-purpose, statically-typed language and belongs to the C-family. So users who are familiar with C programming syntaxes might not find it difficult. The need for this new language was generated because C/C++ didn’t evolve corresponding with computing landscape. In past decade no other system language was introduced to fit the requirements to this evolving computing era. Hence, Go Programming language emerged as a low-level language which was equipped with higher concepts. It was presented as an efficient language with fast compilation, easy programming, and fast execution. Programs here are generated by means of packages for accurate management of dependencies. This language uses a traditional compile and link model for generation of executable binaries.

Traits of Go Programming
 
  • Go language supports the dynamic language-like environment adopting patterns for ease of programming. This language is type-safe and also memory-safe.
 
  • Minimal amount of keywords are used concisely in order to reduce the complexity and clutter in coding. Design concepts also are less complex and being Orthogonal do not interrupt.
 
  • Like Java and C++, Go language is not object-oriented and is not integrated with concepts like inheritance and classes. But it supports concept of interfaces and hence some extent of polymorphism can be achieved.
 
  • Despite of being embedded with expressive type-system, it is lightweight and does not represent hierarchy and thus it can be called as hybrid language.
 
  • Go was conceptualized as systems programming language to be used in heavy web servers, networking systems, storage architectures, and similar fields and it surpassed as productive language.
 
  • It can fit well for needs of game server development, complex event processing (CEP), text-processing problems, scripting-like applications, etc.
 
  • Some of the features have been removed as well which include; no function operator, no implicit conversions, no classes or type inheritance, no dynamic code loading, no generics, no dynamic libraries, no exceptions, no assertions, no immutable variables, etc.
Installation for Distinct Platforms

Different compilers were developed for below mentioned Operating Systems:
  • Linux
  • FreeBSD
  • OS X
Go1 is available in source and binary form for below mentioned platforms;
  • FreeBSD 7+: amd64, 386
  • Linux 2.6: amd64, 386, arm
  • OS X: amd64, 386
  • Windows (2000 + later): amd64, 386
Step-wise Installation of Go on Windows System

Step 1: Perform Go Installation on Windows

Users can install the Go language program either by downloading: Zip Archive or MSI Installer. Separate files are available for Windows 32 bits and 64 bits Operating System architectures.

Zip Archive:
 
  • Download the files according to the Architecture:
step1.png
  • Extract the .zip file and extract to the directory (prefer C:\Go).
 
  • If you choose any other directory (not C:\Go), then you will have to set GOROOT environment variable.
 
  • Add the bin subdirectory of Go root (C:\Go\bin) to Path available in Environment Variable option. (This can be done by editing the Path option in Environment Variable available in Computer>>Properties>>Advanced System Settings>> Advanced.)
MSI Installer:
 
  • Download the MSI installer files as per Architecture:
step2.png
  • Double-click the MSI file and install it as per prompted.
 
  • By default Go distribution will be saved to C:\Go.
 
  • Put the C:\Go\bin directory in the PATH available in Environment Variable. 
We have installed the Go program using MSI Installer. It is easy for installation and the System variables are added implicitly. If you are going to download the Zip file, you will have to add the System Variables manually. In the same option, go to PATH and add the directory of GOBIN to the PATH by editing it.

system-properties.pngStep 2: Check the Installation is Successful or Not

Once the installation is done, users can check whether it was installed successfully or not by running a basic program. Before that try to run some basic commands using Command Prompt.
 
  • Check if Go folder is created in C drive or not.
  • Start Command Prompt (cmd) and direct it to C:\Go and the run “Go version” command.
command.png
  • Type go and details about Go programming language will be displayed along with the commands.
command2.pngStep 3: Method to Create Directories
 
  • Create a new folder for saving the programs. Here we created a folder in C drive as “Go Projects”.
  • Direct to this newly created folder and make directories following the below mentioned mkdir commands.
command3.pngStep 4: Get a Text Editor for Writing Programs

A Go program has to be written in text files with the extension “.go”. Any text editor can be used for writing programs. Here we have used Sublime Text2 Editor for creating programs in which the source code for program is written.
Note: You can take help of any Text Editor as per your convenience and OS available like; Windows Notepad, Epsilon, SciTE, OS Edit command, Brief, EMACS, Xcode3, KD Kate, BBEdit, JEdit, Notepad++, SlickEdit, NetBeans, and vim or vi.

Step 5: Check the Installation Via Simple Program
 
  • Write a basic program which will give Output “Hello Windows” using Sublime Text Editor.
  • Copy the below mentioned source code:
command4.pngHere;
 
  • The first line defines the package name where the program lies. This statement is a must as Go programs runs in packages. main package can be depicted as starting point for running the program.
  • Next is import fmt which is preprocessor command pointing Go compiler to include files lying in package fmt.
  • Next is func main () where the execution starts.
  • If any comment is provided /*_*/, it will not be read by compiler.
  • Next is fmt.Println (…) is another function displaying the message “Hello Windows”. fmt package exports Println method for displaying this message.
 
  • The program in Sublime will appear as;
command5.png
  • Save this text file as hello.go in the same folder which was created for Go programs i.e. Go Projects folder.
 
Step 6: Execute the Program Using CMD
 
  • Run the hello.go in order to see the output.
  • Type below mentioned commands;
command6.png
  • Check the Output Results:
command7.pngcommand8.pngIn Conclusion:
So this is the basic guideline to try your hands on Go programming language. This will introduce you with the 21st century programming style. It is easy for installation which can be checked using the basic program stated above. Of course this is just a beginning and there is a way to go learning about Types and Variables used by Go, Collection Types, Strings, pointers, Procedural/O-O Programming, Concurrent Programming, File handling, Packages, Application in Go, etc. But this will help you to have a headstart for Go language.
6
Comment
Author:Shweta Goel
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 

Expert Comment

by:Chad B
Good article but needs proof reading and cleaning up.  For example, there is more than one place that says the opposite of what is intended (e.g. "Like Java and C++, go is not object-oriented...").
0

Featured Post

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Join & Write a Comment

The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month