Skip to content

kauefraga/learning-golang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Golang (:brazil:)

🐿 Aprendendo a linguagem Go. Escolhi essa linguagem porque queria testar o Fyne e também porque já experimentei-a há um tempo atrás e adorei a modularização, gerenciador de pacotes, performance e o ecossistema no geral. Decidi escrever este learning-{algumacoisa} em português pois eu costumo escrever meus projetos em inglês e vi aqui a oportunidade de agregar a comunidade brasileira.

⬇ Começando

Pré-requisitos

Abaixo eu vou citar os pré-requisitos para usar a linguagem Go, como instalá-los e recomendar algumas ferramentas e extensões.

Instalando a linguagem Go

Windows

Linux

Não estou usando sistemas Linux atualmente. Leia:

Instalando e configurando o Visual Studio Code

Assim como na instalação do Go, você pode usar scoop install extras/vscode. Se não estiver com vontade de baixar um gerenciador de pacote, então simplesmente entre no site do Visual Studio Code e clique no botão azul "Download for xxxxxx". Você vai ser redirecionado para outra página, tente ler um pouco.

Para instalar no Linux, veja a documentação do Visual Studio Code sobre Linux.

Vamos para as extensões. Se tem uma coisa que o Visual Studio Code é bom, então isso é a quantidade de customizações disponíveis! Aqui irei citar algumas recomendações de extensões para você baixar:

Instalando este projeto

  1. Clonar o repositório
  2. Compilar e rodar os códigos
# (1)
git clone https://github.com/kauefraga/learning-golang.git

# (2)
go run website-status/src/main.go
# ou
go build website-status/src/main.go
./main.exe

📚 Conhecimento adquirido

Lista de aprendizados

  • Entrada padrão
// Pacote principal
package main

// Função de entrada
func main() {

}
  • Tipos primitivos
    • Inteiros (int)
    • Ponto-flutuante (float32 e float64)
    • String
    • Boolianos
  • Variáveis
    • Declaração normal: var nome_da_variável tipo_da_variável
    • Declaração encurtada: nome_da_variável := 0 (precisa ser inicializada)
  • Inferência de tipos
  • Funções
    • Declaração: func nome_da_função(...parâmetros) tipo_de_retorno {}
    • Múltiplos retornos
  • Arrays (fixos) e slices (dinâmicos)
  • Controle de fluxo
    • if, elseif e else
    • switch
  • Repetições
    • for loop: for ... {}
    • while loop não existe (estranho, porém acontece) mas pode ser reproduzido usando um loop infinito for {} e uma simples lógica
  • Encerrar programas
    • Use os.Exit(código int)
  • Fazer requisições HTTP
    • Use http.Get(url string)

🧻 Recursos

Lista de conteúdos que consumi para escrever este projeto:

📝 Licença

Este projeto está sob licença do MIT - Veja a LICENÇA para mais informações.