Back End

Tutorial Golang: por onde começar com a linguagem de programação Go

O Google teve um problema porque muitos de seus sistemas eram construídos em C++ e C, e o processo de compilação desses programas para produzir executáveis ​​era tedioso e demorado. Com isso, os engenheiros do Google tiveram a ideia de criar uma nova linguagem de programação, Go.

Essa linguagem é diferente de outras linguagens como C, Python e Java, é uma linguagem moderna porque foi criada em 2009, cerca de 20 anos mais velha que a maioria das outras linguagens. Nesses 20 anos, a computação evoluiu e a evolução foi incorporada ao Go.

O primeiro desses desenvolvimentos tornou o processo de compilação de programas em Go muito rápido, o que era um problema do Google. Outro problema é a modularidade da linguagem, suas funcionalidades são distribuídas em pacotes, importados para nossa aplicação conforme a necessidade.

Além disso, sua sintaxe possui cerca de 25 palavras-chave, uma sintaxe bem curta que facilita o entendimento do nosso código. Embora a linguagem seja simples, é tradicional porque Go é uma linguagem de desenvolvimento rápido, então existem convenções (algumas das quais são impostas pela linguagem) que mantêm o foco do programador no desenvolvimento do código em vez de discutir como deve ser Do.

Outra coisa interessante é a forma como o Go trabalha com simultaneidade, paralelismo de linguagem. Esta é uma seção avançada, não nosso foco, esta é uma introdução à linguagem, olhando sua sintaxe, convenções, pacotes, tudo isso cria um projeto, um monitor de site para colocar todos os sites que gerenciamos e ficar verificando se o site está online ou não, e mantemos registros para sabermos quando o site está online ou offline.

Então vamos criar um aplicativo que se comunique com sites e monitore se eles estão online ou inativos.

Preparar? Então vamos começar!

O que é Golang ou linguagem Go

Go é uma linguagem compilada estaticamente tipada criada no Google por Robert Griesemer, Rob Pike e Ken Thompson.

É um projeto de código aberto lançado em novembro de 2009.

O que é uma linguagem compilada

Uma linguagem compilada é uma linguagem na qual um programador deve executar um programa chamado compilador após concluir o código.

Este programa, além de realizar análise sintática para encontrar erros na forma como o código é escrito, também realiza análise semântica para encontrar erros na lógica de construção do código.

O código não compilará se houver algum desses tipos de erros, o que impede que esses erros sejam descobertos quando o código for executado (em produção), por exemplo.

Outra vantagem de compilar código é que após esse processo de compilação, o compilador cria um binário executável com código de máquina, que tende a ser mais rápido que outras linguagens interpretadas.

O que uma linguagem estaticamente tipada significa? Isso é bom?

A tipagem estática significa que para cada tipo de variável que o programador utilizar (int, float, string), ele deve digitar, ou seja, declarar qual tipo é aquele que só aceita dados desse tipo.

Isso evita um erro comum em outras linguagens quando uma função recebe dados de um tipo inesperado.

Mas é só isso que Go oferece?

Ninguém, e muito mais! Vou contar algumas histórias sobre Go.

Há dois anos e meio, na empresa em que eu trabalhava na época, iniciamos um novo projeto.

Nosso blockchain totalmente desenvolvido tem alguns pré-requisitos e escolhemos o Go para nos ajudar a enfrentar esse desafio.

A escolha dessa nova linguagem não foi por acaso, após extensa pesquisa de mercado, tomamos a decisão pelos mesmos motivos que listei neste artigo.

Essa escolha se mostrou muito acertada, tanto do ponto de vista da engenharia da equipe quanto do meu ponto de vista pessoal como programador.

Desde então, não parei de aprender e usar o idioma em todos os meus projetos.

Quais outros pontos fortes da linguagem Go?

É relativamente fácil gerar código para outras arquiteturas e sistemas operacionais.

Com alguns comandos no meu laptop, gerei um binário executável para um Raspberry Pi para teste.

Os binários também podem ser gerados para Windows ou Mac de maneira semelhante.

Executáveis ​​podem ser compilados estaticamente.

Isso significa que todas as bibliotecas usadas pelo binário estarão no binário, eliminando a necessidade de instalar qualquer software adicional na máquina que executará o programa.

Em geral, os programas escritos em Go são mais rápidos do que outras linguagens amplamente utilizadas hoje, como Ruby, Javascript ou Python. Muito mais cedo.

Como a linguagem Go foi pensada?

O pensamento e a arquitetura de Go levam em consideração a contenção e o paralelismo.

Vem de uma “fábrica” ​​com goroutines porque a linguagem é invocada para executar chamadas em paralelo, mas também com canais, canais de comunicação entre diferentes partes do código, trazendo uma forma fácil de gerar código assíncrono.

A biblioteca padrão da linguagem é muito completa e vem com muitas ferramentas úteis para qualquer programador de backend, incluindo uma biblioteca criptográfica e um servidor http.

Além disso, fornece testes de unidade sem a necessidade de ferramentas externas.

Tudo que você precisa fazer é criar um arquivo com o mesmo nome e adicionar _test ao final para testar o arquivo.

Tutorial Golang: vamos aos testes!

Para testar o arquivo abaixo:

server.go

server_test.go

Outro fator bastante positivo é que existe uma comunidade bastante ativa em torno do idioma, incluindo palestras, conferências e canais de comunicação online. Além dos muitos repositórios de código aberto no Github para estudar e usar.

Lógico que não pode faltar um pouco de código e uma explicação 

Após download, faça a instalação da linguagem no link: https://golang.org/dl/

Depois, abra um arquivo com nome main.go no seu GOPATH

E insira o código abaixo:

package main
import "fmt"
func main() {

a := 10

b := 20

c := Add(a, b)
fmt.Println("O resultado dessa soma é: ", c)
// Add é um função que recebe dois inteiros e retorna a soma entre eles
func Add(a int, b int) int {
return a + b
}

No código acima, temos uma função main main, que é a função onde todos os programas em Go começam a ser executados.

Dentro desta função, temos a declaração e atribuição de duas variáveis ​​a e b nas duas primeiras linhas.

Por exemplo, quando digitamos o símbolo := juntos, declaramos uma variável a e atribuímos a ela um valor 10, que é do tipo int, ou seja, foi digitada com o tipo desse valor.

A variável c receberá o retorno da função Add passando os valores a e b. Em outras palavras, c receberá o valor da soma de a e b.

Na última linha da função main, imprimimos no console de texto, seguido do valor da variável c, que neste caso é 30.

Como executar um código com Go

De acordo com este tutorial golang, podemos executar o código referenciado de duas maneiras:

go build main.go

Este comando compila este arquivo em um binário com o mesmo nome, que pode ser executado em máquinas *NIX com:

./main

O comando a seguir compila e executa o binário, tornando mais fácil para os desenvolvedores verem a saída de seu código:

go run main.go