O que é o Go?
Go é uma linguagem de programação desenvolvida no Google. Foi anunciado em 2009 como um projeto open-source por Robert Griesemer, Rob Pike e Ken Thompson. Desde então, o Go é usado para desenvolver outras tecnologias conhecidas, como Docker, Kubernetes e Terraform. Embora o Go seja muito usado no lado do servidor e no software de nuvem, é uma linguagem de uso geral com vários casos de uso diferentes.
O Go é expressivo, conciso e limpo. Ele foi projetado para ser idiomático, o que permite que os programadores escrevam um código eficiente e robusto. Programas escritos em Go podem ser executados em sistemas UNIX, como Linux e macOS, assim como no Windows. O Go é notável em parte devido a seus mecanismos de simultaneidade exclusivos, que facilitam a escrita de programas que aproveitam vários núcleos ao mesmo tempo. Go é uma linguagem fortemente e estaticamente tipada, o que significa que os tipos de variáveis são conhecidos no tempo de compilação. No entanto, ela tem alguns recursos dinamicamente tipados.
De acordo com o índice TIOBE, o Go era a linguagem de programação do ano em 2009 e 2016. Embora tenha atingido o ápice em 2016, o Go mantém uma classificação alta. De acordo com a pesquisa anual para desenvolvedores do Stack Overflow, o Go continua sendo uma das linguagens mais usadas.
O Go tem muitas semelhanças com o C e herda vários aspectos da sintaxe, das instruções de fluxo de controle, dos tipos de dados básicos, dos ponteiros e de outros elementos do C. No entanto, a sintaxe e a semântica da linguagem vão além do C, porque também tem semelhanças com Java, C#, Python e muito mais. Em geral, o Go tende a usar e adaptar recursos de outras linguagens de programação, mas elimina a maior parte da complexidade. Por exemplo, você pode usar alguns recursos de programação OO (orientada a objeto) e padrões de design no Go, mas o paradigma de OO completo não é totalmente implementado. Você aprenderá o porquê mais adiante neste roteiro de aprendizagem.
Princípios do Go
Estes são os benefícios dos princípios subjacentes da linguagem de programação Go:
- A licença do Go é totalmente de software livre.
- Os programas do Go são compilados em um binário autossuficiente, facilitando o compartilhamento e a distribuição.
- Go da suporte à compilação cruzada em uma variedade de plataformas e sistemas operacionais.
- O Go busca manter a linguagem pequena e simples e fazer mais com menos linhas de código.
- A simultaneidade é importante e permite que qualquer função seja executada como um thread leve com pouco esforço do programador.
- O Go oferece gerenciamento automático de memória, incluindo coleta de lixo.
- Compilação e execução são rápidas.
- O Go requer que todo o código seja usado, caso contrário, um erro é gerado.
- Há uma formatação oficial que ajuda a manter a consistência entre projetos.
- O Go tem uma biblioteca padrão grande e abrangente, e muitos aplicativos podem ser construídos sem dependências de terceiros.
- O Go garante a compatibilidade com versões anteriores da linguagem.
Casos de uso do Go
- Aplicativos de nível de sistemas
- Aplicativos Web
- Aplicativos nativos de nuvem
- Utilitários e ferramentas de linha de comando
- Sistemas distribuídos
- Implementações de banco de dados