Go has many advantages, and some of them are unique to Go, while others are shared with other programming languages.
The list of the most significant Go advantages and features includes the following:
- Go is a modern programming language that is easy to read, easy to understand, and was made by experienced developers.
- Go wants happy developers because happy developers write better code!
- The Go compiler prints practical warning and error messages that help you to solve the actual problem. Putting it simply, the Go compiler is there to help you, not to make your life miserable by printing pointless output!
- Go code is portable, especially among UNIX machines.
- Go has support for procedural, concurrent, and distributed programming.
- Go supports garbage collection, so you do not have to deal with memory allocation and deallocation.
- Go does not have a preprocessor and does high-speed compilation. As a consequence, Go can also be used as a scripting language.
- Go can build web applications and provides a simple web server for testing purposes.
- The standard Go library offers many packages that simplify the work of the developer. Additionally, the functions found in the standard Go library are tested and debugged in advance by the people who develop Go, which means that, most of the time, they come without bugs.
- Go uses static linking by default, which means that the binary files produced can be easily transferred to other machines with the same OS. As a consequence, once a Go program is compiled successfully and an executable file is generated, you do not need to worry about libraries, dependencies, and different library versions anymore.
- You will not need a graphical user interface (GUI) for developing, debugging, and testing Go applications, as Go can be used from the command-line, which I think many UNIX people prefer.
- Go supports Unicode, which means that you do not need any extra code for printing characters from multiple human languages.
- Go keeps concepts orthogonal because a few orthogonal features work better than many overlapping ones.