O que é Go?
Go é uma linguagem de programação que foi desenvolvida no Google. Foi anunciado em 2009 como um projeto de código aberto por Robert Griesemer, Rob Pike e Ken Thompson. Desde então, o Go tem sido usado para desenvolver outras tecnologias bem conhecidas, como Docker, Kubernetes e Terraform. Embora o Go seja muito usado em software do lado do servidor e na nuvem, é uma linguagem de uso geral com uma abundância de casos de uso diferentes.
Go é expressivo, conciso e limpo. Ele foi projetado para ser idiomática, o que permite que os programadores escrevam código de forma produtiva que seja eficiente e robusto. Programas escritos em Go podem ser executados em sistemas Unix, como Linux e macOS, e no Windows. Go é notável em parte por causa de seus mecanismos exclusivos de simultaneidade, facilitando a escrita de programas que podem tirar proveito de vários núcleos ao mesmo tempo. É principalmente uma linguagem fortemente e estaticamente tipada, o que significa que os tipos de variáveis são conhecidos em tempo de compilação. Ele tem, no entanto, alguns recursos digitados dinamicamente.
De acordo com o índice TIOBE, Go foi a linguagem de programação do ano em 2009 e 2016. Embora tenha atingido seu ápice em 2016, Go mantém uma classificação alta. De acordo com o Stack Overflow Developer Survey anual, Go continua como uma linguagem muito amada.
Go tem muitas semelhanças com C e herda aspetos da sintaxe C, como instruções de fluxo de controle, tipos de dados básicos, ponteiros e outros elementos. No entanto, tanto a sintaxe quanto a semântica da linguagem vão além do C. Ele também traça semelhanças com Java, C#, Python e muito mais. Em geral, o Go tende a pegar emprestado e adaptar recursos de outras linguagens de programação, enquanto elimina a maior parte da complexidade. Por exemplo, você pode usar alguns recursos de programação orientada a objetos (OO) e padrões de design em Go, mas o paradigma OO completo não está totalmente implementado. Você aprenderá o porquê mais adiante neste caminho de aprendizagem.
Princípios Go
Aqui estão os principais benefícios subjacentes da linguagem de programação Go:
- A licença Go é 100% open source.
- Os programas Go compilam para um único binário independente, facilitando o compartilhamento e a distribuição.
- O Go suporta compilação cruzada para uma variedade de plataformas e sistemas operacionais.
- Go se esforça para manter a linguagem pequena e simples, e para fazer mais em menos linhas de código.
- A simultaneidade é um cidadão de primeira classe e permite que qualquer função seja executada como um thread leve com pouco esforço do programador.
- O Go fornece gerenciamento automático de memória, incluindo coleta de lixo.
- A compilação e a execução são rápidas.
- Go requer que todo o código seja usado, ou então um erro é lançado.
- Há formatação oficial que ajuda a manter a consistência entre os projetos.
- O Go tem uma biblioteca padrão grande e abrangente, e muitos aplicativos podem ser criados sem dependências de terceiros.
- Go garante a retrocompatibilidade do idioma com versões anteriores.
Casos de uso Go
- Aplicações ao nível dos sistemas
- Aplicações Web
- Aplicações nativas na cloud
- Utilitários e ferramentas de linha de comando
- Sistemas distribuídos
- Implementações de banco de dados