Skip to content

guilherme-maioli/learning_goLang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aprendendo a linguagem GoLang

  • Repositório iniciado 30-07-2023
  • Aprendendo através das lives do TeoMeWhy
  • Livro utilizando como base: Introdução à Linguagem Go: Crie Programas Escaláveis e Confiáveis
├───exe01
├───exe02
├───exe03
├───exe04
└───exe05
├───example01
├───example02
├───example03
├───example04
├───example05
├───exe01
├───exe02
└───exe03
├───ex01
├───ex02
├───ex03
├───ex04
├───ex05
├───ex06
├───example01
├───example02
├───example03
├───example04
├───example05
└───example06
├───ex01
├───ex02
├───ex03
├───example 01
├───example 02
├───example 03
├───example 04
└───example 05
├───ex01
├───ex02
├───ex03
├───ex04
├───example 01
├───example 02
├───example 03
├───example 04
├───example 05
├───example 06
├───example 07
├───example 08
├───example 09
├───example 10
├───example 11
└───example 12
├───ex01: Função SUM, recebendo int e retornando int.
├───ex02: Função MEAN e PAR/IMPAR. Recebe int, retorna a metade dele e se é par ou impar.
├───ex03: Função com parametros variáticos retornando o maior valor recebido.
├───ex04: Função makeEvenGenerator, gerando valor impares apartir de 1.
├───ex05: Função Recursiva com sequencia de Fibonacci.
├───ex06: Teoria do que é defer, panic e recover.
├───ex07: Teoria de como podemos obter um endereço de memória de uma variável.
├───ex08: Como atribuir um valor a uma ponteiro.
├───ex09: Como criar um novo ponteiro.
├───ex10: Função manipulando ponteiros e passando endereço de memória por parâmetro.
├───ex11: Escreva um programa alterando valor de váriavel por ponteiro.
├───example 01: Código de exemplo
├───example 02: Declarando função com retorno.
├───example 03: Declarando função com retorno na chamada. (Return vazio)
├───example 04: Função Variática com múltiplos argumentos. 
├───example 05: Variável de função.
├───example 06: Variável de função alterando um valor.
├───example 07: makeEvenGenerator => Retornando função dentro de função.
├───example 08: Função recursiva
├───example 09: Função "defer", acontece depois de tudo.
├───example 10: Entendendo PANIC, e possíveis capturas de erros.
├───example 11: Go passagem de parâmetros por valor para função
└───example 12: ponteiro
    
├───ex01: Teórico: Diferença entre método e função.
├───ex02: Teórico: Por que usar campo anonimo incluido ao inves de utilizar campo nomeado.
├───ex03: Prático: Cálculo da área e perimetro de um Círculo e um Retangulo usando interfaces.
├───example 01: Cálculo de área de retangulo e circunferência. 
├───example 02: Manipulando structs de Círculo.
├───example 03: Criando métodos de struct.
├───example 04: Herança nas structs.
├───example 05: Somando área de várias structs Circulos
└───example 06: Somando área de várias structs diferentes (Círculo e Retangulo) com Interface
├───example1: Função contém do pacote Strings.
├───example2: Função contar do pacote Strings.
├───example3: Função sufixo e prefixo do pacote Strings.
├───example4: Função index do pacote Strings.
├───example5: Função join do pacote Strings.
├───example6: Função repeat do pacote Strings.
├───example7: Função replace do pacote Strings.
├───example8: Função split do pacote Strings.
├───example9: Função upper e lower do pacote Strings.
├───example10: Abrindo e lendo arquivo txt.
├───example11: Escrevendo em um arquivo.
├───example12: Listando arquivos de um diretório.
├───example13: Navegando no diretório.
├───example14: Tratando erros.
├───example15: Lista encadeadas.
├───example16: Lista encadeadas, ordenando nomes (string).
├───example17: Lista encadeadas, ordenando idades (int).
├───example18: Hashs
├───example19: Comparando Hashs de arquivos iguais e diferentes
├───example20: Criptografia de hash.
├───example21: Trocando mensagem por TCP. main.go (tudo em um arquivo) e client.go, server.go dividindo arquivos.
├───example22: Servidor HTTP.
├───example23: Exemplo de RPC (remote procedure call). Chamando um função através do servidor.
├───example24: Pegando argumentos da linha de comando `go run main.go --max 200`.
├───example25: Trabalhando com pacotes no go.
├───ex01: Teoria: por que usamos pacote?
├───ex02: Teoria: Diferença de um identificador que começa com letra maiuscula e com letra minuscula.
├───ex03: Teoria: O que é um apelido (alias)?
├───ex04: Criando pacote math com funções average, min, max.
└───ex05: Teoria: como documentária as funções criadas no exericico 4.
├───ex01: Escrevendo testes pra função Average do pacote math criado para um exemplo vazio.
├───ex02: Escrevendo testes pra função Min e Max do pacote math criado.
└───example01: Escrevendo testes para a função Average criado no final do capítulo anterior.
├───example1: Concorrência dentro da main
├───example2: Chamando de forma concorrente a mesma função várias vezes
├───example3: Demonstração com time.Sleep()
├───example4: Troca de informações entre Goroutines com canais
├───example5: Mais de uma Goroutine enviando dados para o mesmo canal
├───example6: Direção dos canais no momento de definição da função
├───example7: Select para receber informações de canais que tem dados disponíveis
├───example8: Timeout no Select quando não há dados disponíveis em nenhum canal
├───example9: Valor default em Select
├───example10: Buffer de canal
├───example11: Fazendo um webscraping para saber qual páginas tem mais caracteres.
├───ex01: Como especificar a direção do tipo de canal.
├───ex02: Implementar a função sleep.
└───ex03: Criando um canal buffer de capacidade 20.

├───figurinhas.go: Album de figurinhas. Quantos pacotes é necessário compra para completar o album? 
├───fizzbuzz.go: Print FIZZ para números divisíveis por 3 e BUZZ para divisíveis por 5. FIZZBUZZ para divisiveis por 3 e 5.
└───primo.go: Receba um número inteiro e diga se ele é primo ou não.

About

Learning GoLang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages