What will you learn from this book? Go makes it easy to build software that’s simple, reliable, and efficient. And this book makes it easy for programmers like you to get started. Google designed Go for high-performance networking and multiprocessing, but― like Python and JavaScript―the language is easy to read and use. With this practical hands-on guide, you’ll learn how to write Go code using clear examples that demonstrate the language in action. Best of all, you’ll understand the conventions and techniques that employers want entry-level Go developers to know. Why does this book look so different? Based on the latest research in cognitive science and learning theory, Head First Go uses a visually rich format to engage your mind rather than a textheavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multisensory learning experience is designed for the way your brain really works.
It's a very good book for the right audience. If you're fairly new to programming, it's a good book for you. However, it would be much too slow for someone with a little bit more experience. The official "Tour of Go" would be much better.
My main issue with the "Head First" format is while the little puzzles (refrigerator magnets, the pool thingy) is doubtless helpful, the books don't come with the actual magnets or a pool. So you're like as not to not do them. Unless you're going to go through the trouble to print them out the pages and cut the pieces out and then do them, you're not getting as much out of the exercise as you might.
That aside, they tend to be well-edited (language and technology) books that leave you with some genuine skills. This is the sort of beginner's book I read even when I've been working with a language for some time because I assume there are holes in my basic knowledge and beginner's books are the fastest way to find those and fill them in.
There's also a certain ego gratification to burning through a book because you had already figured it out, not gonna lie. But in-between patting myself on the back for figuring out how Go's poorly named "slices" work and how it's wonky as far as pointer/dereferences go, I learned things like how Go handles documentation, and its multithreading and testing features, which I hadn't bothered.
I didn't find the Big Picture stuff I was hoping for, which I notice is a very common thing among non-OO languages. Even if it's arbitrary and ill-suited to a particular problem, OO gives you a definite path to organizing and designing very large products. It's not really a knock against what is essentially a beginner's book, but I'm still looking.
I will admit that I just skimmed over the web server part. I barely write web backend stuff in Python, I'm not about to do it in Go any time soon. My main goal with this book was to finally learn Go after having heard about it for 2-3 years now. This book turns out to be a very good resource for that. I have no idea how well it would work for someone who's never programmed before, but for me it's my 4th or 5th programming language and for most languages the basics are all the same (just like most languages have nouns, verbs, articles, etc) and it's all about learning the details. I've been able to use what I've learned here to solve some problems for Advent of Code (a December programming set of puzzles) although I *did* have to go out to the official documentation a little to figure out things not covered in this book (like regular expressions).
If you need a jumpstart on Go, I heartily recommend this book. It's written like a hip textbook with with little silly pictures and stuff, but each chapter has a mini project in it to give you a good understanding of how it fits together. This type of learning is best for me when I'm first learning a language vs the programming language books that are more like a reference book. Your mileage may vary based on your learning style.
Solid book. I've been a fan of the Head First format all the way back to Head First Design Patterns. I find the format very valuable for keeping focus and it fits well with the way I like to learn things. This particular book is setup more for someone who may not have a number of languages already in their toolbox, but it worked incredibly well for polishing up my knowledge. I have a tendency to just start writing things in a new language, and I've been working with Go for awhile now, but I was looking for something that would take me through all the basic Go opinions and design decisions in a more directed manner. Because Go is such a very opinionated language I felt like I had a bit of a gap and I wanted to wrap my head around the opinions and tradeoffs. I got that here for sure. It did a good job of highlighting what Go shares with other languages and where it decided to do its own thing.
Great book for beginners, solid book for anyone who wants to firm up their foundational Go knowledge, not for anyone who is looking to leave the junior level of Go development.
I bought that book last week to get ahead with the new (not that new actually) cool kid on the block: Go. The book gave me good insights into the programming language and I am able now to read and write (need more practice though) programs in Go. As any head first book, it is written in simple and understandable language. If you are experienced you can finish the 500 pages book within 2 days as the code examples are self explaining. What I did not like was that certain topics such as Goroutines were not described properly, they were compared with threads when it is another concept of concurrency. But I guess further advanced topics would break the scope of the book. So if you want to get into Go: You gotta read this book. If you want a deeper look into Go and understand how things work under the hood then you might need to look for another book
Clear concise, and well paced. Easy to follow code examples will help you understand the core concepts. Setting up and using Go makes it a no-brainer for anyone looking to learn something new -as a c programmer it felt natural.