Skip to content

eneas-almeida/go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

Go

Repositório destinado ao Go.

Projetos

Vantagens

  • 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, instalação e configuração

# 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

Comandos

# 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

Pacotes

# 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

Ferramentas úteis

Apis externas

Forks


Profile Made with 💙 by Enéas Almeida