🐿 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.
Abaixo eu vou citar os pré-requisitos para usar a linguagem Go, como instalá-los e recomendar algumas ferramentas e extensões.
-
Ter a linguagem Go instalada. Veja na seção #instalando a linguagem go
-
Ter um editor de texto (estou utilizando Visual Studio Code). Veja aqui.
Instalando a linguagem Go
-
Você pode instalar com um gerenciador de pacote como o Scoop, Chocolatey ou outro.
- Exemplo:
scoop install main/go
- Exemplo:
-
Entre na página de download da linguagem, procure por "Microsoft Windows" e baixe o "go{x.xx.x}.windows-amd64.msi".
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:
-
Go;
-
- Inglês já vem por padrão.
- Português Brasileiro
-
Tabnine AI ou Codeium;
- Clonar o repositório
- 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
Lista de aprendizados
- Entrada padrão
// Pacote principal
package main
// Função de entrada
func main() {
}
- Tipos primitivos
- Inteiros (
int
) - Ponto-flutuante (
float32
efloat64
) - String
- Boolianos
- Inteiros (
- 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)
- Declaração normal:
- Inferência de tipos
- Funções
- Declaração:
func nome_da_função(...parâmetros) tipo_de_retorno {}
- Múltiplos retornos
- Declaração:
- 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
- for loop:
- Encerrar programas
- Use
os.Exit(código int)
- Use
- Fazer requisições HTTP
- Use
http.Get(url string)
- Use
Lista de conteúdos que consumi para escrever este projeto:
Este projeto está sob licença do MIT - Veja a LICENÇA para mais informações.