I’ve been diving into the Go language at full speed. A book was recently released called Programming in Go. If you are interested in Go and this isn’t your first language, I’d definitely recommend it. It goes much deeper into the language than the examples online and provides a nice layout for learning and discovery. Not that I hate reading the package docs, but the book provides it in a more interesting and concise layout.
Like I said, this shouldn’t be your first book for your first language though. The author starts right into it with examples that are going to stump you unless you are familiar with another language like [C](http://en.wikipedia.org/wiki/C_(programming_language)), [Java](http://en.wikipedia.org/wiki/Java_(programming_language)), or [Python](http://en.wikipedia.org/wiki/Python_(programming_language)). I’ve been an engineer for a solid 12 years now and many of the examples required me to look up reference or the Go documentation to fully understand.
That being said, this is a great book. One of my favorite parts is the examples at the end of the chapters. He gives you a working example and describes what is does and how it does it. Then he asks you to modify it to add a feature or change a behavior or sometimes even write a similar app that does something slightly different.
They are like little puzzles and I love puzzles, especially the programming variety. It is a great teaching tool that I wish more books used. Most are simply reference manuals and that can get boring quickly. Programming in Go acts as a reference manual, but also a self-study guide. I’m all for that!