Serie: Golang

Golang – 01. Introdução

Este artigo é a parte 1 de 11 na série 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

Este artigo é a parte 2 de 11 na série 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

Este artigo é a parte 3 de 11 na série 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

Este artigo é a parte 4 de 11 na série 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. Gerenciando Pacotes

Este artigo é a parte 5 de 11 na série Golang

Índice1. Pacotes da Biblioteca Padrão e Instalação de Aplicativos1.1. Instalar novos Pacotes1.1.1. Comando “go get”1.1.2. Compilação e Instalação de Aplicativos2. Escrevendo um Pacote em Go2.1. Onde Armazenar seu Pacote2.1.1. Módulos Go2.2. Criando o Pacote mathlib2.2.1. Implementando o Pacote2.2.2. Nomes Iniciados com Letras Maiúsculas e Minúsculas2.2.3. Inicializar o Projeto calc como um Módulo2.2.4. Adicionar uma Substituição […]

CONSULTE MAIS INFORMAÇÃO

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

Este artigo é a parte 6 de 11 na série Golang

Índice1. Pacote fmt1.1. Códigos de Formatação1.2. Funções Print, Printf e Println1.2.1. Retorno das Funções Print1.3. Funções Scan, Scanf e Scanln1.3.1. Separadores Espaço e Quebra de Linha1.3.2. Retorno das Funções Scan1.4. Funções Sprint, Sprintln e Sprintf1.5. Função Errorf1.6. Como ler Strings com espaços no fmt?2. Pacote Strings2.1. Função strings.Compare2.2. Funções Contains, ContainsAny e ContainsRune2.2.1. Função Contains2.2.2. […]

CONSULTE MAIS INFORMAÇÃO

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

Este artigo é a parte 7 de 11 na série 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

Este artigo é a parte 8 de 11 na série Golang

Índice1. Definindo uma Interface2. Interfaces Explícitas vs. Implícitas3. O Papel das Interfaces na Escrita de Código Modular e Desacoplado4. Interface Vazia em Go4.1. Conceito e Utilização4.2. Flexibilidade e Exemplos Práticos4.3. Potenciais Armadilhas4.4. Aplicação Avançada: Interface Vazia em Cálculos Científicos5. Interface como um Par de Ponteiros5.1. Representação Interna de uma Interface5.2. Implicações de Desempenho5.3. Flexibilidade e […]

CONSULTE MAIS INFORMAÇÃO

Golang – 09. Goroutines – Concorrência e Paralelismo

Este artigo é a parte 9 de 11 na série Golang

Índice1. Goroutines1.1. Pacote sync.WaitGroup1.1.1. Método Add1.1.2. Método Done1.1.3. Método Wait1.2. Pacote sync.Mutex1.2.1. Método Lock()1.2.2. Médoto Unlock()1.2.3. O jantar dos Filósofos1.2.4. Método TryLock()1.3. Pacote sync.Once1.3.1. Método Do2. Considerações FinaisMuitas vezes se confunde concorrência com paralelismo, no entanto são coisas bastantes distintas. Um dos criadores da linguagem Go pontuou em uma de suas apresentações: “Concorrência é sobre […]

CONSULTE MAIS INFORMAÇÃO

Golang – 10. Goroutines – Canais

Este artigo é a parte 10 de 11 na série Golang

Índice1. Canal1.1. Exemplo 01: iniciando um canal1.1. Escrevendo e Lendo em um Canal1.2. Canal sem Buffer1.2.1. Exemplo 02: canal sem buffer1.3. Canal com Buffer1.3.1. Exemplo 03: canal com buffer1.4. Laço for-range e fechando o Canal1.4.1. Exemplo 04: for-range1.5. Select – case1.5.1. Exemplo 05: select-case2. Goroutines e Boas Práticas2.1. Canal Done2.1.1. Exemplo 06: canal done2.1.2. Exemplo […]

CONSULTE MAIS INFORMAÇÃO