Go Programming language is a general-purpose language created by Google. According to Wikipedia, it is similar in syntax to C programming language but with better garbage collection, memory management and structural typing. Sometimes it is called Golang, but this is a misnomer. The real name is Go.
- Why you should learn Go Programming
- Features of Go Programming Language
- Features not include in Go
- Go versus Python
1. Why you should learn Go
This post was written in 2021 and there is very good reasons to learn Go programming in 2021. Here are some:
- Go programming language is quite easy to learn and master (beginner-friendly)
- You can use Go for data analytics programming like Python
- Has kind of support for Object Oriented Programming(OOP)
2. Features of Go Programming Language
Here are some of the feature of the Go Programming language that you should know:
- Go programs produces statically linked native binaries without any external dependencies
- programming pattern is similar to dynamically typed languages
- Go program are know for simplicity and readability
- has inbuilt support for concurrency
- compile time is very good compared other languages (compile and runtime efficiency)
- supports Interfaces and type embedding
- efficient in network programming and multprocessing
- Excellent for server-side programming
3. Features not Included
- not support for method and operator overloading (unlike C++)
- does not support circular dependencies among packages
- does not support pointers
- does not support generic programming
- does not support type inheritance
- does not support assertions
These feature have been intentionally not include in effort to keep the language simples. Besides, you can achieve similar objective using other features provided in Go Programming Language.
4. Go vs Python
This is a question that have arisen among new programmer and I would just address it here. So find below some comparison between Go and Python.
Note: some items in the table are not exactly corresponding but you have the idea!
| SN | Go | Python |
| 1 | Support for concurrency | Inbuilt Support Object Oriented Programming |
| 2 | No support for error handling | Sharable |
| 3 | Faster than Python | Slower than Go |
| 4 | Very easy to read | Very large community |
| 5 | A compiled language | Interpreted language |
| 6 | Statically typed language | Dynamically typed language |
| 7 | Suited for server-side and system programming | Suited for data science and analysis |
| 8 | Has garbage collection feature | No memory management |