A linguagem de programação Go é a fonte mais confiável para qualquer programador que queira conhecer Go. O livro mostra como escrever código claro e idiomático em Go para resolver problemas do mundo real. Esta obra não pressupõe conhecimentos prévios de Go nem experiência com qualquer linguagem específica, portanto você a achará acessível, independentemente de se sentir mais à vontade com JavaScript, Ruby, Python, Java ou C++. O primeiro capítulo contém um tutorial com os conceitos básicos de Go, apresentado por meio de programas para E/S de arquivos e processamento de texto, imagens gráficas simples, clientes e servidores web. Os primeiros capítulos discutem os elementos estruturais de programas Go: sintaxe, controle de fluxo, tipos de dados e a organização de um programa em pacotes, arquivos e funções. Os exemplos apresentam muitos pacotes da biblioteca-padrão e mostram como criar seus próprios pacotes. Capítulos mais adiante explicam o sistema de pacotes com mais detalhes, além de mostrar como compilar, testar e manter projetos usando a ferramenta go. Os capítulos sobre métodos e interfaces apresentam a abordagem não convencional de Go à programação orientada a objetos, em que métodos podem ser declarados em qualquer tipo e as interfaces são implicitamente satisfeitas. Esses capítulos explicam os princípios fundamentais de encapsulamento, composição e substituibilidade usando exemplos realistas. Dois capítulos sobre concorrência apresentam abordagens detalhadas a esse assunto cada vez mais importante. O primeiro, que discute o sistema básico de gorrotinas e canais, apresenta o estilo conhecido como processos sequenciais comunicantes (communicating sequential processes) pelo qual Go é renomado. O segundo aborda aspectos mais tradicionais de concorrência com variáveis compartilhadas. Esses capítulos oferecem uma base sólida para programadores que estão entrando em contato com a concorrência pela primeira vez.