Voltar ao blog

Compilando e Instalando Programas Go

Compilando e Instalando Programas Go

Go é uma linguagem de programação estaticamente tipada. Originalmente projetada pelo Google, o Go compartilha semelhanças com C em termos de sintaxe. No entanto, em termos de funcionalidade, o Go vem com recursos adicionais como segurança de memória, coleta de lixo (garbage collection), tipagem estrutural, etc. Nos últimos anos, o Go tem ganhado uma popularidade incrível.

Este guia irá passar pelas etapas de compilação e instalação de programas Go com a ajuda de um programa Go de demonstração.

Compilação e Instalação do Go

Antes de prosseguir, vamos fazer uma rápida análise do que compilar e instalar significa no contexto da programação Go.

Na programação Go, compilar refere-se ao processo de traduzir o código-fonte em um executável binário. O executável conterá os códigos de suporte necessários para que possa ser executado de forma independente na plataforma de destino. Ao contrário de Ruby/Python programas, os binários do Go geralmente não requerem nenhuma dependência do sistema para serem executados em um novo sistema.

Colocar o binário do Go em um caminho de arquivo executável no sistema é chamado de instalar o programa. Como mencionado anteriormente, este guia demonstrará a execução, compilação e instalação de um programa simples Go “Hello world”.

Pré-requisitos

Antes de começar, vamos analisar os pré-requisitos que você precisará cumprir para seguir o tutorial:

Primeiro, passaremos rapidamente pela instalação e configuração do ambiente de programação Go. Para um passo a passo mais detalhado guia sobre como instalar o Go, verifique aqui.

Instalando o Go

O Go está disponível em todas as principais plataformas (Windows, Linux e macOS). Está oficialmente disponível diretamente do Golang. Devido ao nome do site, o Go é frequentemente chamado de Golang. Aqui, sempre nos referiremos à linguagem de programação Go como Go e ao site do Golang como Golang.

O Golang oferece documentação detalhada sobre a instalação do Go para todas as plataformas suportadas. No entanto, o método oficial descreve a instalação manual. Cada vez que uma nova versão é lançada, você precisa atualizar manualmente a instalação para a versão mais recente. Em vez disso, podemos instalar o Go diretamente usando o APT (dos repositórios padrão do Ubuntu) ou snap (do Snapcraft).

●     Instalando o Go usando o APT

O Go está diretamente disponível nos repositórios oficiais do Ubuntu. No entanto, nem sempre é a versão mais recente do Go. Também existem duas variações do Go disponíveis no repositório do Ubuntu: golang-go e gccgo-go. Enquanto golang-go é a versão oficial do Golang, gccgo-go é o frontend Go para o GCC (como parte do compilador GNU). Geralmente, golang-go é a escolha preferida.

Para instalar golang-go, execute o seguinte comando APT:

Go Programs apt update and go install

Verifique a versão do Go:

go version
●     Instalando o Go usando o snap

Os snaps são pacotes Linux universais que podem ser instalados em qualquer distribuição suportada. O Snapcraft lista todas as distribuições suportadas com guias de instalação. No Ubuntu, o suporte a snap é ativado por padrão. O Go também está disponível como um snap. Você precisa ter em mente que ele não é mantido oficialmente pelo Golang. O pacote snap é gerenciado por um provedor terceirizado.

Para instalar o snap do Go, execute o seguinte comando:

snap install go

Em seguida, verifique a versão do Go:

snap go version

Configurando um Projeto Go

Nosso sistema possui todas as ferramentas necessárias para começar a desenvolver aplicativos em Go. É hora de estabelecer nosso projeto de demonstração. Primeiro, crie um diretório dedicado para o nosso projeto:

mkdir demo_project

Em seguida, mude o diretório atual para o diretório recém-criado:

cd demo_project

Aqui, crie um novo arquivo de texto chamado main.go:

O código a seguir apresenta um programa simples que imprimirá “Hello world” quando executado. Copie o código:

Go Programs nano main_go

Salve o arquivo e feche o editor. Verifique se o código está funcionando corretamente:

run main_go

O compilador Go compilou o arquivo de origem em um arquivo binário e o executou. Ele também verifica se o programa está funcionando com sucesso.

Configuração do Workspace do Go

Para instalar corretamente os programas Go, precisamos configurar o workspace do Go e o GOPATH.

Primeiro, crie a estrutura de diretórios:

mkdir bin src

Em seguida, precisamos declarar o valor de GOPATH e adicioná-lo ao PATH. Abra o arquivo bashrc :

Go Programs nano bashrc

Adicione as seguintes linhas no final do arquivo:

Go Programs nano bashrc modified

Recarregue o bashrc:

Verifique se a alteração foi bem-sucedida:

path variable

Compilando Binários Go

Esta seção demonstrará a compilação de códigos Go em um arquivo binário autônomo distribuível. O binário conterá não apenas o código Go, mas também códigos de sistema adicionais para executar o binário. Para compilar nosso código, execute o seguinte comando:

build main_go

Se houver múltiplos arquivos de código Go, use o seguinte comando:

Se nenhum arquivo for especificado, o Go procurará arquivos Go no diretório atual e compilará todos eles. Cada arquivo binário recebe o nome de seu arquivo Go de origem. Neste exemplo, o Go compilou o programa main. Execute o programa:

run main binary

Este programa está pronto para ser distribuído para outros computadores.

●     Alterando o nome do binário

Sempre que compilar, o Go selecionará automaticamente um nome para o arquivo executável. Existem duas opções possíveis quando se trata de escolher o nome.

  • Se módulos Go forem usados, o executável usará a última parte do nome do módulo.
  • Se nenhum módulo Go for usado, o Go usará o nome do diretório atual ou o nome do arquivo de origem.

Trabalhar com programas mais complexos exige uma convenção de nomenclatura diferente. Nesses cenários, esses métodos de nomenclatura padrão não são muito úteis. Em tal situação, a melhor maneira é personalizar a saída usando a flag -o. Vamos fazer uma demonstração rápida. Compile o programa Go com a flag -o para designar um nome de arquivo diferente:

build binary with different name

A flag -o informa ao Go para corresponder a saída com o argumento fornecido. Neste caso, o executável estará localizado no diretório bin e se chamará hello.

Em seguida, teste o novo arquivo executável:

bin hello_go

Instalando Programas Go

Até agora, demonstramos a compilação de binários Go distribuíveis a partir de arquivos de origem. Podemos distribuí-los em outros sistemas, implantar e realizar testes. No entanto, eles não podem ser executados fora de seus diretórios de origem. Se você planeja usar ativamente o programa, essa restrição pode ser muito incômoda. Para facilitar as coisas, podemos instalar os programas Go e acessá-los de qualquer lugar do sistema.

Para instalar o programa, execute o seguinte comando Go no diretório de origem:

go install

Este comando se comporta da mesma forma que go build. No entanto, em vez de deixar o arquivo executável no diretório de origem, ele é colocado no seguinte diretório:

As variáveis GOPATH e GOBIN dizem ao Go onde procurar pelos workspaces do Go. GOPATH padrão é o local $HOME/go. Nós definimos manualmente GOBIN como $GOPATH/bin. Para verificar a localização de GOPATH e GOBIN use the following command:

go env path

Verifique o conteúdo de $GOPATH/bin. Nosso programa deve estar lá:

ls go path

Hora de verificar se a instalação foi bem-sucedida. Altere o diretório atual para um local diferente e tente executar o programa Go:

Go Programs check installation by running binary

Finalmente, você deve ser capaz de pegar seus programas e instalá-los em seu sistema. Você pode usá-los de onde e quando precisar deles.

Considerações Finais

Neste tutorial, demonstramos com sucesso como usar as toolchains do Go para compilar binários executáveis a partir de códigos-fonte. Esses binários podem ser usados em outros sistemas, mesmo sem qualquer configuração do Go. Finalmente, demonstramos como instalar o programa Go para que ele esteja disponível de qualquer lugar no sistema.

Para desenvolvedores, a CloudSigma oferece suporte à API do Go para gerenciar seus servidores em nuvem. Isso permite editar recursos e dimensionar a infraestrutura.

Boa computação!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.