DEV Community

Cover image for Go + Ubuntu: Old School Style
chaveprimaria
chaveprimaria

Posted on

Go + Ubuntu: Old School Style

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
Enter fullscreen mode Exit fullscreen mode
  • 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
Enter fullscreen mode Exit fullscreen mode
  • 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
Enter fullscreen mode Exit fullscreen mode

Isso deve retornar algo como:

go version go1.23.4 linux/amd64
Enter fullscreen mode Exit fullscreen mode

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 .
Enter fullscreen mode Exit fullscreen mode

Crie um novo projeto:

go mod init nome-projeto
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode
  • 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 projeto Go;

  • 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 arquivo main.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!")
}
Enter fullscreen mode Exit fullscreen mode

Execute pelo terminal:

go run main.go
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode
  • 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 arquivo hello.go.

Agora, você vamos subir definitivamente o level.


Rodando...

go run hello.go
Enter fullscreen mode Exit fullscreen mode

Esse comando vai compilar e executar o arquivo Go no mesmo momento, resultando em:

Hello, Go!
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Depois, execute novamente:

go run hello.go
Enter fullscreen mode Exit fullscreen mode

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)