Seven Golang Features you must know about

This is DASC
3 min readJul 6, 2020

--

Hi there!

Today we will talk about Golang and the rich set of features it has.

Golang is a statically typed, high performance, and simple language, which has just amused me over the days. I have recently started learning Go because of a project I am working on and it has proven to be quite efficient and most importantly a simple language. Go doesn’t allow you to create anything which you won’t use, better comment it and then run your program otherwise the compiler won’t let you move forward.

I won’t say I am a fan of Golang yet, but coming from a C, C++ background, it seems easy to work with. The rich set of libraries and a good Go community will help you in every possible way to overcome your problems.

So coming straight to the point, here is the list of features that Go has which makes it unique and more likable than any other language.

1.Simplicity — I have kept this as the first feature, as this is the only thing that comes first in my mind when I talk about Go. Unlike other languages go doesn’t get competitive to make itself feature-rich, instead, it makes the readability and maintainability its priority. The makers of Golang add only those features to the language which are relevant and do not make the language complex by adding a number of things. You will be able to get a feel of how simple go is when you will start working with it.And if you are going through someone else’s go code, no matter how large the code base is, each and every line will be very much readable and understandable for you.

2. Powerful Standard Library — Go has a rich set of library packages, which makes it easier for you to write your code. Although its library is not as rich as of Python or Java, it has all the essential stuff. You can browse the library here — https://golang.org/pkg/

3. Concurrency in Golang — Another feature that has added to the popularity of Golang is its concurrency feature. Go provides Goroutines and channels to deal with concurrency. Concurrency helps in making use of Multi-processor architecture efficiently. Concurrency also helps in better scaling of the large applications. Some famous examples of Projects written in go are — Docker, Kubernetes, Dropbox, Hugo.

4. Web Application Building — Go is becoming popular as a web application building language because of its simple constructs and faster execution speed. There are tons of tutorials out there on the internet, you can just start with anything.

5. Testing Support — Go provides a way to test the package that you write. With just the “go test” command you will be able to test your code written in “*_test.go” files. For making any program reliable, testing is a must, so you should add test function along with actual function each time you write some code.

6. Object-Oriented Nature — Okay so this point is debatable. Whether we should call go as an Object-Oriented Programming language or not! Although go doesn’t have the concept of classes and objects but structs in Golang are used extensively as a replacement for classes. We used the terminology of ‘Method’ when it is related to a struct. So in short go is not exactly like Object-Oriented language but it looks like one. Pretty cool huh !!

7. Speed of Compilation — Well this is the point where go wins hearts of many as it’s speed of compilation and execution is much better than many famous programming languages like Python, Java, etc. Golang is easily parsable without a symbol table. The design of Golang and its compiler was done keeping the speed of compilation and execution in mind.

8. System Programming and Cloud Computing made easy — This is a complimentary feature as you have come this far to read the seven features. So Go is indeed good for system-level programming as it exhibits many similarities with system programming languages like C and as it was designed to keep this in mind.

That is all folks! Hope you liked it as much as I liked writing it. If you have any queries, you can send mail to “thisisdasc@gmail.com”

--

--