New to Golang! Simply introducing about Golang 🧐

Bonnie Chen
BONNIE
Published in
3 min readMar 2, 2021
image source: https://www.freecodecamp.org/news/go-golang-programming-language/

The pic above is Golang’s icon! It is so cute!! 😍😍😍

Due to my business need, I am learning Golang. When I googled Golang, I found that fans of GO is called gophers.

Comparing with others programming language, Golang’s icon gives an approachable and friendly impression to me. Although Python and Perl logos are also represented by animals, it seems to me that gopher is more attractive to me… hahaha.

image source: https://worldvectorlogo.com/

Golang is an open source programming language which is designed at Google. Its expressiveness is like Python, and performance is like C or C++. Some well-known software is written in Golang, like Kubernetes and Docker. Also, it is heavily used throughout Cloud, Server and DevOps software.

Besides, Golang has a powerful standard library, and it even has many great features.

Features

  • Go is fast

Golang is a compiled language, which means it can directly compile to machine code. Its speedness outperforms than other programming language due to without executing bytecode in virtual machine, like Java, or running the code line by line via interpreter , like Python. Some websites also offer the comparison result of different programming language performance speed. Golang apparently defeats other programming language. As a result, Golang is suitable to develop API(application programming interface), CLI(command line interface) or server.

  • Go is a statically-typed language

Because Go is a statically-typed language, it is clearer to know the data type of variables during compiling, and also it ensures that data type conversion and compatibility are all correct. Therefore, it is able to catch some trivial bugs in the early time.

  • Garbage Collection

Although Golang is similar to C language, Golang has the garbage collection mechanism. Specially, Golang has structs as value, so garbage collection can control over memory layout. Also, it is the reason why Golang garbage collection performs better that Java.

  • Concurrency Support

In Golang, due to its in-built mechanism, it is easier to implement concurrency using goroutines and channels. Golang allows executing the tasks simultaneously, and also different channels are able to communicate with each other.

  • Interface type

As we know that “is Golang object-oriented?”, it is a good question and it depends on the viewpoint. Many articles takes different opinion on it. It seems to me that Golang gathers both C/C ++ and high-level programming language’s characteristic.

Base on my viewpoint, Golang is not an object-oriented language, but it has polymorphism mechanism due to interface type. It is an interesting things. Although there are several different class objects, they still can implement the same function. Just because they implement methods in the interface type .

Conclusion

Although I am a new one to Golang, some basic concepts and its characteristics are appealed to me. For example, “Golang is not an object-oriented language but it is surprised to me that it has interface type”.

To me, after touching or using several programming languages, I think each programming language has its own purpose and unique characteristic than others programming language. There is not the best programming language in the world.

The most important is, making sure that the development purpose and which of programming language’s traits are the most suitable to meet the system or project needs. It is an importance thought to the developers, right? Also, keep learning new things and keep reviewing old things 👍 👍 👍.

Reference

https://willowtreeapps.com/ideas/the-pros-and-cons-of-programming-in-go#:~:text=Go%20is%20a%20really%20fast,file%20that%20is%2011.5%20MB.

--

--

Bonnie Chen
BONNIE
Editor for

I am a software development engineer. I like to code, think, exchange thinking with people, and also explore everything in this world :)