Go em Ação

Go em Ação Esgotado
× Go em Ação

Go em Ação

Compartilhar

Autores: William Kennedy
Brian Ketelsen
Erik St. Martin

ISBN impresso: 978-85-7522-506-6
Ano: 2016
Páginas: 304
Preço: R$ 89,00

3 opiniões | Opine sobre este livro

Descrição do livro

O desenvolvimento de aplicações pode ser bem complicado, mesmo quando não estamos lidando com problemas de programação de sistemas complexos, como concorrência em escala web e desempenho de tempo real. Embora seja possível resolver esses problemas comuns com ferramentas e frameworks adicionais, Go já vem pronto para lidar com eles, deixando a experiência de programação muito mais natural e produtiva. Desenvolvida no Google, a eficácia da linguagem Go confere agilidade tanto a startups quanto a empresas de grande porte – companhias que dependem de serviços de alto desempenho em sua infraestrutura.

Go Em Ação é um livro para qualquer desenvolvedor de nível intermediário, com experiência em outras linguagens de programação, que queiram um início imediato no aprendizado de Go ou melhor compreensão da linguagem e de sua organização interna. Esta obra oferece uma visão detalhada, abrangente e idiomática de Go. Ela está concentrada na especificação e na implementação da linguagem, incluindo assuntos como sintaxe da linguagem, sistema de tipos de Go, concorrência, canais e testes.

Conteúdo do livro

  • Especificação e implementação da linguagem

  • Sistema de tipos de Go

  • Organização interna das estruturas de dados de Go

  • Testes e benchmarking

Este livro pressupõe que você seja um desenvolvedor atuante, proficiente em outra linguagem como Java, Ruby, Python, C# ou C++.

Ver menos ▲

Sumário

  • Apresentação
  • Prefácio
  • Agradecimentos
  • Sobre este livro
  • Sobre a ilustração da capa
    • Introdução à linguagem Go
  • 1.1 Resolvendo desafios modernos de programação com Go
    • 1.1.1 Velocidade de desenvolvimento
    • 1.1.2 Concorrência
    • 1.1.3 Sistema de tipos de Go
    • 1.1.4 Gerenciamento de memória
  • 1.2 Hello, Go
    • 1.2.1 Apresentando o Go Playground
  • 1.3 Resumo
    • Imersão rápida em Go
  • 2.1 Arquitetura do programa
  • 2.2 Pacote principal
  • 2.3 Pacote search
    • 2.3.1 search go
    • 2.3.2 feed go
    • 2.3.3 match go/default go
  • 2.4 Matcher de RSS
  • 2.5 Resumo
    • Pacotes e ferramentas
  • 3.1 Pacotes
    • 3.1.1 Convenções para nomenclatura de pacotes
    • 3.1.2 Pacote main
  • 3.2 Importações
    • 3.2.1 Importações remotas
    • 3.2.2 Importações nomeadas
  • 3.3 init
  • 3.4 Usando as ferramentas de Go
  • 3.5 Indo além com outras ferramentas de Go para desenvolvedores
    • 3.5.1 go vet
    • 3.5.2 Formatação em Go
    • 3.5.3 Documentação de Go
  • 3.6 Colaborando com outros desenvolvedores de Go
    • 3.6.1 Criando repositórios para compartilhamento
  • 3.7 Gerenciamento de dependências
    • 3.7.1 Dependências de vendoring
    • 3.7.2 Apresentando o gb
  • 3.8 Resumo
    • Arrays, fatias e mapas
  • 4.1 Organização interna e fundamentos dos arrays
    • 4.1.1 Organização interna
    • 4.1.2 Declarando e inicializando um array
    • 4.1.3 Trabalhando com arrays
    • 4.1.4 Arrays multidimensionais
    • 4.1.5 Passando arrays entre funções
  • 4.2 Organização interna e fundamentos das fatias
    • 4.2.1 Organização interna
    • 4.2.2 Criando e inicializando fatias
    • 4.2.3 Trabalhando com fatias
    • 4.2.4 Fatias multidimensionais
    • 4.2.5 Passando fatias entre funções
  • 4.3 Organização interna e fundamentos dos mapas
    • 4.3.1 Organização interna
    • 4.3.2 Criando e inicializando mapas
    • 4.3.3 Trabalhando com mapas
    • 4.3.4 Passando mapas entre funções
  • 4.4 Resumo
    • Sistema de tipos de Go
  • 5.1 Tipos definidos pelo usuário
  • 5.2 Métodos
  • 5.3 Natureza dos tipos
    • 5.3.1 Tipos embutidos
    • 5.3.2 Tipos referência
    • 5.3.3 Tipos estrutura
  • 5.4 Interfaces
    • 5.4.1 Biblioteca-padrão
    • 5.4.2 Implementação
    • 5.4.3 Conjuntos de métodos
    • 5.4.4 Polimorfismo
  • 5.5 Inclusão de tipos
  • 5.6 Identificadores exportados e não exportados
  • 5.7 Resumo
    • Concorrência
  • 6.1 Concorrência versus paralelismo
  • 6.2 Goroutines
  • 6.3 Condições de concorrência
  • 6.4 Travando recursos compartilhados
    • 6.4.1 Funções atômicas
    • 6.4.2 Mutexes
  • 6.5 Canais
    • 6.5.1 Canais sem buffer
    • 6.5.2 Canais com buffer
  • 6.6 Resumo
    • Padrões de concorrência
  • 7.1 Pacote runner
  • 7.2 Pooling
  • 7.3 Pacote work
  • 7.4 Resumo
    • Biblioteca-padrão
  • 8.1 Documentação e código-fonte
  • 8.2 Logging
    • 8.2.1 O pacote log
    • 8.2.2 Loggers personalizados
    • 8.2.3 Conclusão
  • 8.3 Codificação/decodificação
    • 8.3.1 Decodificando JSON
    • 8.3.2 Codificando JSON
    • 8.3.3 Conclusão
  • 8.4 Entrada e saída
    • 8.4.1 Interfaces Writer e Reader
    • 8.4.2 Trabalhando em conjunto
    • 8.4.3 Curl simples
    • 8.4.4 Conclusão
  • 8.5 Resumo
    • Testes e benchmarking
  • 9.1 Testes de unidade
    • 9.1.1 Testes de unidade básicos
    • 9.1.2 Testes de tabela
    • 9.1.3 Chamadas simuladas
    • 9.1.4 Testando endpoints
  • 9.2 Exemplos
  • 9.3 Benchmarking
  • 9.4 Resumo
Ver sumário completo ▼

Sobre os autores

William Kennedy

William Kennedy é um desenvolvedor de software experiente e autor do blog GoingGo.Net. … Ver perfil completo ▶

Brian Ketelsen

Brian Ketelsen é um dos organizadores do GopherCon e coautor do framework Skynet baseado em Go.… Ver perfil completo ▶

Erik St. Martin

Erik St. Martin é um dos organizadores do GopherCon e coautor do framework Skynet baseado em Go.… Ver perfil completo ▶

Opinião dos leitores

victor h d s r

Ótimo livro para que procura uma rápida e clara introdução o Golang.

Deividy R

Bom d+, inacreditável. Consegui ter um entendimento bem legal com a leitura e a parte boa: vai direto ao ponto.

Cesar G

O livro é muito bom, um ótimo ponto de entrada para quem quer aprender Go e já conhece outras linguagens de programação.

Ver todas ▼