- Go é uma linguagem de alto nível Garbage collected
- É rápida, intuitiva e fácil de utilizar
- Go não possui operador ternário
- Go não possui list comprehenssion
- Go possui apenas uma forma de loop: for
- Go é uma linguagem com tipagem estática
- Go possui uma API de testes nativa
- Iniciar um novo projeto
go mod init <nome do projeto>
- Atualizar dependências
go mod tidy
- Rodar uma aplicação ou arquivo
# Roda aplicação e procura o package main
go run .
# Roda arquivo específico
go run file.go
- Build -> criar binário da aplicação
go build -o <path/arquivo de output>
- Build para outras plataformas é necessário alterar ou setar variável de ambiente
GOOS = Go OS
GOARCH = arquitetura da máquina
# Win
GOOS=windows GOARCH=386 go build -o binario.exe
# Linux
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o binario
- Adicionar lib ao projeto
go get <endereço da lib>
- Instala um binário Go
go install <endereço da lib>
Go PlayGround
https://go.dev/play/
Standard lib
https://pkg.go.dev/std
TDD With Go
https://larien.gitbook.io/aprenda-go-com-testes/