Repositório destinado ao Go.
- Go ViaCEP
- Go clean architecture basic
- Go agorithms
- Go access modifiers
- Go configs dot env
- Go database
- Go injections
- Go injections with Google wire
- Criada pelo Google, relativamente a pouco tempo (2012, primeira versão);
- Os envolvidos são pessoas criadoras do UNIX, UTF-8 e V8;
- Nasceu nativamente pensando em Multithreading e Paralelismo;
- Aproveita ao máximo os recursos de multicore;
- Ótima para detectar race condition;
- Open source;
- Expressiva, eficiênte, limpa e concisa;
- Bibliotecas de testes nativas;
- Linguagem copilada;
- Copilação rápida, o que faz parecer que é interpretada;
- Garbage collection eficiênte;
- Estaticamente tipada;
- Copilação em um único arquivo binário;
- Portável para Linux, Windows e Mac;
- Utiliza ponteiros com maestria;
- Sintaxe reduzida;
- Possui uma forma padrão de desenvolvimento do código;
- Pacotes maduros para se trabalhar com http;
- Proporciona um deploy simples;
- Download oficial: https://go.dev/dl/
# Remove o diretorio se existir, e extrai o arquivo diretório /usr/local
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.20.6.linux-amd64.tar.gz
# Cria a pasta onde irá ficar os pacotes
mkdir $HOME/go
# Edita o zshrc
nano ~/.zshrc
# Insere
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
# Atualiza o zshrc
source ~/.zshrc
# Verifica a versão
go version
# Exibe a versão do go
go version
# Exibe as variáveis do go
go env
# Inicializa um módulo
go mod init <nome_do_modulo>
# Baixa as dependências de um projeto
go mod tidy
# Salva as dependências localmente
go mod vendor
# Cria o build da aplicação de acordo com a variável GOOS do go env
go build
# Cria um build para windows
GOOS=windows go build
# UUID
go get github.com/google/uuid
# Crypto
go get golang.org/x/crypto
# Viper: variáveis de ambientes
go get github.com/spf13/viper
# Driver do SQLite
go get github.com/jinzhu/gorm/dialects/sqlite
# Driver do Mysql
go get -u github.com/go-sql-driver/mysql
Made with 💙 by Enéas Almeida