Buscar

Ferramentas

Go

Linguagem de programação open source apoiada pelo Google, com compilador e comando go no mesmo pacote; é nela que foram escritos o Hugo e o Caddy.

  • Desenvolvimento
Go

No GitHub, golang/go é só um espelho. O repositório Git canônico da linguagem fica em go.googlesource.com, explica o README, e o rastreador de issues aceita só bugs e propostas. Go se apresenta como uma linguagem open source para escrever software simples, confiável e eficiente, e o site informa que o Google apoia o projeto.

Para que serve

  • Escrever serviços de rede e de nuvem, o primeiro caso de uso listado no site.
  • Criar ferramentas de linha de comando. O Hugo e o Caddy, por exemplo, são escritos em Go.
  • Desenvolver aplicações web, outro uso da lista do site.
  • Automatizar tarefas de DevOps e de confiabilidade de sites (SRE).

Como começar

Os binários oficiais ficam na página de downloads do go.dev, com guia de instalação ao lado. No Linux, o processo é extrair o arquivo em /usr/local e incluir /usr/local/go/bin no PATH. O guia alerta para não extrair por cima de uma pasta /usr/local/go antiga, porque isso gera instalações quebradas. Para conferir se deu certo:

go version

Para testar antes de instalar, o Tour e o Playground rodam código Go no navegador. Sem binário para o seu sistema, há um guia de compilação a partir do código-fonte.

Licença e custo

Salvo indicação em contrário, os arquivos seguem uma licença no estilo BSD, a de três cláusulas. Ela permite copiar, modificar e redistribuir, em código aberto ou fechado, mantendo o aviso de copyright. Um arquivo PATENTS soma a isso uma licença gratuita de patentes do Google para a implementação. Essa licença cai para quem processar alguém alegando que o Go viola patente. A linguagem não tem versão paga. Um detalhe: o comando go consulta por padrão um espelho de módulos e um banco de checksums operados pelo Google.

Quando vale a pena

APIs, CLIs e serviços de rede são o terreno que o próprio site reivindica para a linguagem. Um time com todo o código em Python ou JavaScript precisa pesar o custo de manter uma segunda linguagem. Rust e Java disputam espaço parecido em back-end e ferramentas de sistema.