“Learning Go” is a book that gives an introduction into the Go language of Google. It is licensed under a copy-left license. The book currently consists out +/- 120 (A4 sized) pages and the following chapters:
Show how to install Go and details the lineage of the language Go.
Types, variables and control structures.
How to make and use functions.
Functions and data is grouped together in packages. Here you will see how to make your own package. How to unit test your package is also described.
- Beyond the basics
Learn how to create your own data types and define function on them (called methods in Go).
Go does not support Object Orientation in the traditional sense. In Go the central concept is interfaces.
gokeyword function can be started in separate routines (called goroutines). Communication with those goroutines is done via channels.
How to create/read/write from and to files. And how to do networking.
Each chapter concludes with a number of exercises (and answers) to may help you to get some hands on experience. Currently it has more than 30 exercises.
There is also a Chinese translation by Mike Spook.
What readers say:
I am really glad that I found your Go book. It’s been a couple of weeks since I started learning Go, but didn’t make much progress till I found your book.
I also read with great interest the (successive versions of the) free E-book by Miek Gieben & Co. Which I find definitely very well crafted and very useful. Definitely an extremely laudable initiative.
Prebuild PDFs can be found at /downloads/Go. The source code of the book can be found on github.
It is written in LaTeX with the Memoir class (and a bunch a extra classes).
Questions, patches, text, bug reports and general discussions can be directed
email@example.com (in English or Dutch).
If you like this work you may choose support it by sending me money :)