Dicas para construir uma disciplina de engenharia de plataforma duradoura
7 de maio de 2024É por isso que as equipes de infraestrutura devem se preocupar com a engenharia de plataforma
7 de maio de 2024A linguagem Go possui um comando especial que é usado para compilar e instalar um pacote binário para seu aplicativo em um caminho acessível ao usuário do seu aplicativo.
Deixe-me explicar de uma forma que todos possamos entender.
Primeiro, vamos falar sobre o PATH. Um PATH é uma lista especial de diretórios que instrui o sistema onde encontrar os arquivos executáveis necessários para executar comandos. Por exemplo: Com Linux, execute o comando…
echo $PATH
Você provavelmente verá algo assim na saída:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Essencialmente, isso significa que qualquer arquivo executável em qualquer um desses diretórios pode ser executado de qualquer lugar na hierarquia do sistema de arquivos. Graças ao PATH, você não precisa usar o caminho completo para comandos como ls, que seria:
/usr/bin/ls
Em vez disso, você pode simplesmente executar ls para usar o aplicativo.
Quando você instala o Go, ele assume que o caminho padrão do Go é um local específico. Para descobrir onde está esse caminho, emita o comando:
echo $GOPATH
Você deverá ver algo assim:
/home/jack/go/
Você pode definir esse caminho com o comando:
go env -w GOPATH=$HOME/go
Observe que $HOME é o equivalente a /home/USUÁRIO (Onde DO UTILIZADOR é o seu nome de usuário do Linux). Você também pode definir isso em seu .bash_profile arquivo. Abra esse arquivo para edição com o comando:
nano ~/.bash_profile
Na parte inferior desse arquivo, adicione o seguinte:
export GOPATH=$HOME/go
Fonte do arquivo com:
source ~/.bash_profile
Você poderia mudar esse caminho se quisesse, mas é sempre melhor (especialmente no início) deixá-lo como está.
Ok, agora que você entende o que é GOPATH, como ele é usado?
Deixe-me te mostrar.
Vamos escrever um programa que calcule o valor aproximado de Pi. Veja como esse aplicativo funciona:
- Importa os pacotes fmt, math e math/rand.
- Semeia o gerador de números aleatórios, define total de pontos para 1 milhão e pontosInsideCircle para 0.
- Usa um loop for para iterar total de pontosdefinindo x e y como números flutuantes aleatórios 64 e usa esses números (com o matemática. função) para múltiplos x*x e y*y.
- Conjuntos piAprox para 4 vezes float64 de pontosInsideCircle e total de pontos.
- Por fim, imprime o valor.
Esta é a aparência do código:
Crie um novo diretório de projeto com o seguinte:
mkdir ~/randompi
Mude para esse diretório com o seguinte:
cd randompi
Inicialize o projeto com:
go mod init randompi
Crie o principal.go arquivo com:
nano main.go
Cole o código nesse arquivo e salve-o.
Crie o aplicativo com o comando:
go build
O que você deverá ver agora é um executável binário chamado aleatóriopi. Você pode executar o novo aplicativo Go com o comando:
./randompi
Isso é ótimo. Mas e se você quisesse executar esse comando em outros diretórios? Como este é o Linux, você pode copiar isso para o /usr/local/bin diretório, mas o Go já tem seu GOPATH disponível para esse fim. Para isso, você usa go install, que move esse novo arquivo binário para o seu GOPATH. Para fazer isso, emita o comando:
go install
Se você executar o comando ls, descobrirá que aleatóriopi o executável desapareceu. Para onde foi? Movi-o para o seu GOPATH. Lembre-se de listar seu GOPATH com:
echo $GOPATH
Isso deve imprimir seu GOPATH. O truque aqui é que Go não apenas copia o executável para a raiz do seu GOPATH. Em vez disso, ele o copia para o diretório bin nesse caminho. Em termos de Linux, bin é um diretório comum para arquivos binários (bin = binário). Para verificar se o executável foi copiado nesse caminho, emita o comando:
ls $GOPATH/bin
Você deveria ver aleatóriopi listado.
Se você conhece Linux, provavelmente entende o que vem a seguir. Mesmo que você tenha configurado GOPATH, isso não significa que esteja no seu Linux PATH. Mesmo com essa ressalva, Go ajuda você com o comando run. Se você emitir o comando:
go run randompi
Ele encontrará o executável binário em $GOPATH/bin e o executará aleatóriopi aplicação para a qual a saída será algo como:
Usando este método, nosso valor aproximado de π: 3,139740
Aqui está um truque útil.
Quando você inicializa o aplicativo com vá mod init randompiele cria o ir.mod arquivo que incluirá algo assim:
module randompi go 1.22.1
Digamos que você queira renomear o aplicativo para algo como gopi. Tudo que você precisa fazer é editar o arquivo go.mod e alterar o módulo randompi para módulo gopi. Recrie e reinstale o aplicativo e você poderá executá-lo com:
go run gopi
E isso, meus amigos Go, é o básico para usar o comando go install. Isso se tornará uma ferramenta importante para você à medida que continua seus estudos no idioma Go.
A postagem Golang: como usar o comando Go Install apareceu pela primeira vez em The New Stack.