Se você é do tipo que gosta de interfaces bonitinhas e ferramentas cheias de funcionalidades, talvez este artigo não seja para você. Aqui, vamos fazer as coisas à moda antiga, como faziam nossos antepassados. No final, você vai sair com o Go instalado e rodando, sem precisar de IDEs ou interfaces polidas (caso o mundinho frontend acabe de vez).
O que você vai precisar:
- Distribuições baseadas no Debian/Ubuntu, já que os comandos aqui são específicos para este cenário;
- Visual Studio Code instalado (link do passo a passo);
- Sanidade (opcional, dependendo do nível da sua necessidade de interface gráfica).
Instalação
Abra o terminal cole o seguinte comando:
sudo apt install golang-go
sudo
: é necessário para garantir que o comando será executado com permissões de administrador (o famoso "root");apt
: é a ferramenta de gerenciamento de pacotes do Ubuntu, usada para instalar, atualizar e remover software;install
: indica que estamos pedindo para o sistema instalar um novo pacote;golang-go
: é o pacote que você está instalando, ou seja, o Go (também conhecido como Golang).
Esse comando vai instalar a versão do Go presente nos repositórios oficiais do Ubuntu. A desvantagem é que, muitas vezes, essa versão não é a mais recente, já que os repositórios podem não estar sempre atualizados com as últimas versões de todas as ferramentas.
E se eu quiser a versão mais atual do Go?
Para garantir que você tenha a versão mais recente do Go disponível, use os seguintes comandos:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
sudo add-apt-repository ppa:longsleep/golang-backports
: é o comando que vai adicionar um repositório de backports ao seu sistema. Repositórios de backports são como “caminhos alternativos” para obter versões mais novas de pacotes que não estão no repositório oficial;sudo apt update
: vai atualizar a lista de pacotes disponíveis e garantir que o sistema esteja ciente dessa nova fonte de pacotes;sudo apt install golang-go
: garante que você baixe a versão mais atual do Go disponível nesse repositório de backports.
Verificando a versão instalada
Após a instalação, verifique se o Go foi instalado corretamente executando o seguinte comando:
go version
Isso deve retornar algo como:
go version go1.23.4 linux/amd64
Agora você está pronto para dominar o mundo com Go... ou pelo menos terminar de seguir o tutorial, se você não se importar.
Deu errado, e agora?
Agora se vira, né? O mundo não vai se dominar sozinho.
Programando em Go pelo VSCode
Agora que o Go já está no sistema, é hora de codar pelo terminal do VSCode (prometo que não dói).
Abra o VSCode pelo terminal com o comando:
code .
Crie um novo projeto:
go mod init nome-projeto
Se a seguinte mensagem em vbnet
ser a seguinte, então quer dizer que deu certo.
go: creating new go.mod: module projeto
go: to add module requirements and sums:
go mod tidy
Agora, execute o comando ls
para listar os arquivos e criar a estrutura do diretório:
mkdir -p nome-projeto
cd projeto
touch main.go
code main.go
mkdir
: o comando usado para criar um diretório (uma pasta);-p
: opção que permite criar subdiretórios, caso não existam, sem gerar erro. Por exemplo, se você quiser criar uma pasta dentro de outra, o-p
vai criar todas as pastas do caminho de uma vez;nome-projeto
: é o nome que você escolhe para o diretório que será criado, ou seja, estamos criando a pasta onde vamos armazenar todos os arquivos do seu projetoGo
;cd
: significa "change directory", mudar de diretório. Ele é usado para navegar entre os diretórios (pastas) do seu sistema de arquivos;nome-projeto
: é o diretório em que acabamos de entrar. Então, após rodar esse comando, o terminal estará dentro da pasta nome-projeto, onde você pode começar a trabalhar e adicionar arquivos;touch
: comando usado para criar um arquivo vazio. No caso, ele cria o arquivomain.go
dentro do diretório nome-projeto (caso o arquivo já exista, o comando atualiza a data e a hora de modificação);main.go
: arquivo Go onde vamos escrever o código do nosso projeto;code
: comando para abrir o VSCode, se você o tiver instalado e configurado no seu terminal;main.go
: arquivo que você acabou de criar, que será aberto diretamente no VSCode. Isso é útil para iniciar o arquivo e começar a programar em Go diretamente de dentro do editor.
Agora, finalmente dentro da main.go
, cole o seguinte código para um simples "Hello":
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
fmt.Println("Hello, World!")
fmt.Println("Hello, Universe!")
}
Execute pelo terminal:
go run main.go
Pronto! Agora você definitavamente vai dominar o mundo.
Quer ser mais old school? Chega mais!
Agora, se você quiser ser mais "casca grossa", que tal criar o arquivo diretamente no terminal sem usar editor de texto?
Abra o terminal no Ubuntu e crie um arquivo chamado hello.go
com o código Go diretamente nele:
echo -e 'package main\n\nimport "fmt"\n\nfunc main() {\n fmt.Println("Hello, Go!")\n}' > hello.go
O
echo -e
permite imprimir várias linhas de texto no terminal (e o-e
interpreta as quebras de linha e outros caracteres especiais);O texto entre as aspas é o código
Go
que estamos inserindo no arquivo;> hello.go
redireciona a saída do comando echo para o arquivohello.go
.
Agora, você vamos subir definitivamente o level.
Rodando...
go run hello.go
Esse comando vai compilar e executar o arquivo Go no mesmo momento, resultando em:
Hello, Go!
Modificando o código diretamente no terminal
Se você quiser fazer pequenas alterações no código diretamente no terminal, pode usar o echo
novamente. Por exemplo, se você quiser mudar a mensagem para "Hello, World!", rode o comando:
echo -e 'package main\n\nimport "fmt"\n\nfunc main() {\n fmt.Println("Hello, World!")\n}' > hello.go
Depois, execute novamente:
go run hello.go
Dica: o uso do
echo
com redirecionamento é uma forma rápida e eficaz de criar pequenos arquivos diretamente pelo terminal. Porém, para projetos maiores, você precisará de um editor de texto como nano ou vim no terminal.
Conclusão
Sem mais, exceto que agora você é uma verdadeira lenda, e fará deste mundo um lugar mais azul. GO!
Top comments (0)