Go is a statically typed, high-level programming language. It was developed at Google with the goal of being simple, easy to learn and scalable. Go is garbage collected, but it has excellent performance and a low memory footprint when compared to other garbage collected languages.
Go’s highlights are:
- The CSP-style concurrency model, with lightweight, user space threads called goroutines and communication primitives at a language level through channels.
- The implicit interface implementation, resulting in a sort of duck type experience in a statically typed language.
For me, programming in Go has a low-level feel very similar to C, but with very good tooling and a vast standard library that results in a very pleasant experience.