Skip to content

Latest commit

 

History

History
19 lines (11 loc) · 2.08 KB

go-in-action-2015.md

File metadata and controls

19 lines (11 loc) · 2.08 KB

@jbub

TL;DR Great introduction to to the Go programming language and its ecosystem for experienced developers coming from other languages.

In the first chapter authors are talking about the problems the language is trying to solve and why the Go language was created in the first place. Some basic concepts are briefly introduced and also the resources about Go community are presented.

The second chapter is based on reviewing a real piece of code and gives us the feel of the first non-trivial Go program. Most of the aspects of developing a software project are discussed while taking Go's features into account.

The third chapter is an introduction into Go's ecosystem. You will learn how to structure your code and how to split it into packages. Next, the go command is described as the tool that will make management of your programs easier by providing a set of common management commands. These commands include building, testing and fetching Go code.

Next two chapters provide overview of built-in data types and show us how to compose Go code using structs, interfaces and type embedding. The most interesting parts of the book are chapters about concurrency and concurrency patterns. Authors are showing ways of solving real world problems using built-in concurrency features of Go. You will learn how to use constructs such as goroutines and channels to use and manage shared resources.

The book is ending with two chapters one of which is about the Go's magnificent standard library. The second one will teach you how to test and benchmark your programs to help you make them rock solid.

The book is really well written and extremely to the point. The code samples are very well documented and are freely available. I would recommend this book to any experienced programmers which are interested in writing fast, elegant and maintainable code. It is a great starting point to enter the world of Go.