Serie: Golang

Golang – 01. Introdução

This entry is parte 1 de 12 in the series Golang

Índice1. Breve Histórico1.1. Motivação2. Instalação e Configuração do Go2.1. Configuração do Ambiente Go2.2. Visual Studio Core2.3. Instalando o Aplicativo hello2.4. Entrada com o Pacote fmt3. Considerações FinaisEsta série será uma descrição dos meus estudos sobre a linguagem de programação Go, também conhecida como GoLang. A intenção é abordar os conceitos da linguagem e organizar o […]

CONSULTE MAIS INFORMAÇÃO

Golang – 02. Tipos Básicos

This entry is parte 2 de 12 in the series Golang

Índice1. Tipos Numéricos1.1. Declaração de Constantes1.1.1. Constantes com iota1.2. Declaração de Variáveis1.3. Declaração via “var” ou “:=”2. Arrays3. Slices3.1. Função Append3.2. Função Capacidade e Comprimento3.3. Função Make3.4. Slicing Slices3.4.1. Superposição inesperadas em Slices com Append3.5. Função Copy4. Strings5. Bytes e Runes6. Maps6.1. Acessando os Valores de um map6.2. Excluindo Elementos de um Map7. Operadores7.1. Operadores […]

CONSULTE MAIS INFORMAÇÃO

Golang – 03. Structs e Funções e Métodos

This entry is parte 3 de 12 in the series Golang

Índice1. Structs1.1. Composição2. Funções2.1. Retorno Simples2.2. Retorno Nomeado2.3. Vários Retornos: aprimorando segGrau2.4. Funções como valor e ignorar retorno, “_”2.5. Funções Anônimas: Uso Geral e Flexibilidade2.5.1. Anônima: Recebendo Argumento2.5.2. Anônima: Retornando um valor2.6. Funções Variádicas2.7. Função init()2.8. Definindo um Método2.9. Alterando Valor do Argumento3. Considerações FinaisExplorando a última estrutura de dados fundamental do Go, este capítulo […]

CONSULTE MAIS INFORMAÇÃO

Golang – 04. Estruturas de Controle

This entry is parte 4 de 12 in the series Golang

Índice1. Blocos – Mascarando Variáveis2. Instrução If3. Instrução For3.1. For – Estilo C3.2. For – Condicional3.2.1. Continue3.2.2. Break3.3. for – Infinito3.4. for – Range3.4.1. Valor Passado como Cópia3.5. Padrões Avançados com For3.5.1. Uso de Labels em Laços3.5.2. Laços For com Condições Múltiplas3.5.3. Estruturas de Controle e Performance3.5.3.1. Uso Eficiente de Laços3.5.3.2. Escolha da Estrutura de […]

CONSULTE MAIS INFORMAÇÃO

Golang 05 — Pacotes em Go

This entry is parte 5 de 12 in the series Golang

Índice1. Uso de pacotes1.1. Importando múltiplos pacotes1.2. Papel do import1.3. Observação2. O que é um pacote2.1. Pacotes além do main2.2. Organização por diretório2.3. Subdiretórios2.4. Observação2.5. Regra prática (refinada)3. Criando um pacote próprio3.1. Estrutura do pacote3.2. Usando o pacote3.3. Inicializando o módulo3.4. Execução3.5. O que está acontecendo3.6. Observação4. Exportação4.1. Evoluindo o mathlib4.2. Funções internas4.3. Separação de responsabilidades4.4. Regra prática5. […]

CONSULTE MAIS INFORMAÇÃO

Golang 06 — Módulos e dependências

This entry is parte 6 de 12 in the series Golang

Índice1. Inicializando um módulo1.1. Papel do go.mod1.2. Impacto nos imports1.3. Unidade de trabalho1.4. Observação2. Dependências2.1. Adicionando uma dependência2.2. Atualizando o go.mod2.3. Limpando dependências2.4. Fluxo prático2.5. Observação3. Instalando ferramentas com go install3.1. Observação3.2. Conexão com o fluxo anterior4. Módulos locais4.1. Cenário4.2. Inicializando os módulos4.3. Referenciando o módulo local4.4. Adicionando a dependência4.5. Observação4.6. Fluxo de trabalho5. Versionamento5.1. Significado das versões5.2. […]

CONSULTE MAIS INFORMAÇÃO

Golang – 06. Biblioteca Padrão I – fmt e strings

This entry is parte 7 de 12 in the series Golang

No universo da programação, a escolha de uma linguagem de programação é frequentemente influenciada pela riqueza de sua biblioteca padrão. Por exemplo, o Python é renomado pelo lema “batteries included”, que evidencia sua vasta biblioteca padrão, capacitando os desenvolvedores a construir uma ampla gama de produtos de maneira eficiente. Uma expectativa semelhante recai sobre qualquer […]

CONSULTE MAIS INFORMAÇÃO

Golang – 07. Biblioteca Padrão II – os, os/exec e os/user

This entry is parte 8 de 12 in the series Golang

Índice1. Pacote os1.1. Acessando Informações do Sistema1.1.1. Função os.GetEnv()1.1.2. Carregando Algumas Informações do Sistema1.2. Arquivos e Diretórios1.2.1. Funções Open, Create e OpenFile1.2.2. Função CreateTemp1.2.3. Descritor File1.2.4. Função ReadFile1.2.5. Função WriteFile1.3. Funções UserHomeDir, UserConfigDir e UserCacheDir2. Pacote os/exec2.1. Função LookPath2.2. Atributos da Cmd2.3. Função Command2.4. Função CommandContext2.5. Métodos da Cmd2.5.1. Método Output e CombinedOutput2.5.2. Médotos Run […]

CONSULTE MAIS INFORMAÇÃO

Golang 08 — Interface

This entry is parte 9 de 12 in the series Golang

Em programas reais, raramente trabalhamos apenas com tipos concretos isolados. À medida que o sistema cresce, torna-se necessário definir comportamentos esperados, independentemente da implementação específica de cada tipo. Interfaces em Go existem para resolver exatamente esse problema. Em vez de focar na estrutura de um tipo, elas descrevem o que um valor é capaz de fazer. Uma […]

CONSULTE MAIS INFORMAÇÃO

Golang 09 — Goroutines – Concorrência e Paralelismo

This entry is parte 10 de 12 in the series Golang

Índice1. Goroutines1.1. Canais1.2. Canais com buffer1.3. Fechamento de canais1.4. Select1.5. Padrões básicos de comunicação1.6. Sincronização explícita1.7. Scheduler e modelo de execução1.8. Contexto e cancelamento1.9. Deadlocks e bloqueios1.10. Pipeline de processamento2. Considerações finaisMuitas vezes se confunde concorrência com paralelismo, embora sejam conceitos distintos. Um dos criadores da linguagem Go resumiu bem essa diferença em uma de suas apresentações: […]

CONSULTE MAIS INFORMAÇÃO