A linguagem de programacao go e a fonte mais confiavel para qualquer programador que queira conhecer go
O livro mostra como escrever codigo claro e idiomatico em go para resolver problemas do mundo real
Esta obra nao pressupoe conhecimentos previos de go nem experiencia com qualquer linguagem especifica, portanto voce a achara acessivel, independentemente de se sentir mais a vontade com javascript, ruby, python, java ou c++
O primeiro capitulo contem um tutorial com os conceitos basicos de go, apresentado por meio de programas para e/s de arquivos e processamento de texto, imagens graficas simples, clientes e servidores web
Os primeiros capitulos discutem os elementos estruturais de programas go- sintaxe, controle de fluxo, tipos de dados e a organizacao de um programa em pacotes, arquivos e funcoes
Os exemplos apresentam muitos pacotes da biblioteca-padrao e mostram como criar seus proprios pacotes
Capitulos mais adiante explicam o sistema de pacotes com mais detalhes, alem de mostrar como compilar, testar e manter projetos usando a ferramenta go
Os capitulos sobre metodos e interfaces apresentam a abordagem nao convencional de go a programacao orientada a objetos, em que metodos podem ser declarados em qualquer tipo e as interfaces sao implicitamente satisfeitas
Esses capitulos explicam os principios fundamentais de encapsulamento, composicao e substituibilidade usando exemplos realistas.dois capitulos sobre concorrencia apresentam abordagens detalhadas a esse assunto cada vez mais importante
O primeiro, que discute o sistema basico de gorrotinas e canais, apresenta o estilo conhecido como processos sequenciais comunicantes (communicating sequential processes) pelo qual go e renomado
O segundo aborda aspectos mais tradicionais de concorrencia com variaveis compartilhadas
Esses capitulos oferecem uma base solida para programadores que estao entrando em contato com a concorrencia pela primeira vez
Os dois ultimos capitulos exploram recursos de baixo nivel de go
Um dos capitulos aborda a arte da metaprogramacao usando reflexao
O outro mostra como usar o pacote unsafe para desviar-se do sistema de tipos em situacoes especiais e como usar a ferramenta cgo para criar vinculos (bindings) de go com bibliotecas em c.