Go Programming Language
Go is a programming language designed originally to replace Python, Java, C/C++ at Google by some of the most experienced engineers who have ever lived, Rob Pike, Ken Thompson, and Robert Griesemer. It was specifically created to handle most high-performance utilitarian software development needs at Google. Forged in the white-hot fires of enterprise to slay many very real problems, it’s no surprise this light, fast, and solid tool is a popular and ideal choice for most back-end work. Go should be considered required learning by any serious technologist because of its efficiency, ubiquity, versatility, and sustainability which is why it is the most significant language of the DevOps movement and in 2017 Forbes called it one of the “two highest paid languages you maybe never have heard of,” three years after TJ Holowaychuk switched to Go from Node.
Learning Go
Learning Go is one of the most rewarding activities you can pursue. The best way to learn it is to start writing code in it, even the simplest code. You can use the language challenges to get some ideas.
However, when it comes to books, courses, and other materials there is no real solid leader. Perhaps the best approach is to simply read the documentation created by the Go team itself. Consider reading these in the order suggested by the Go team:
Don’t forget to start a codebook and get busy trying out the code you are reading about. It’s the only way to remember it.
Videos
Here are some of videos good for beginners:
Frequently Answered Questions
“I hate Go’s reserve type syntax!”
Um, that’s not a question. Get over it. It’s far superior for several objective reasons.
This is also why Rust uses it, by the way.
See Also
- https://golangresources.com
- Junmin Lee, Go Tutorials
- Go Code Review Comments
- Ultimate Go
- Introduction to Go Programming
- The Little Go Book
- How to Code in Go
- Head First Go
- Go Bootcamp
- Learning Go
- Go for JavaScript Developers
- Go in Action
- Test-Driven Development with Go
- Go Secure Coding Practices
- Network Programming with Go
- Go in Practice
- A Go Developer’s Notebook
- The Go Programming Language Phrasebook
- Black Hat Go
- Concurrency in Go
- API Foundations in Go
- Web Apps in Go, the Anti-Textbook
- Go Web Programming
- Learn to Create Web Applications Using Go
- 12 Factor Applications with Docker and Go
- Build SaaS Apps in Go
- Let’s Go
- Tutorial Edge Course
- Programming with Google Go Specialization
- https://go.dev
- https://tour.golang.org (Despite the horrible JavaScript-only site.)
- Go Project Layout