1. Início
  2. Desenvolvimiento de software
  3. Tutorial Golang: por onde começar com a linguagem de programação Go

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

tutorial-golang

Olá pessoal, este é a primeiro texto que escrevo aqui no blog da Geek, espero que gostem deste conteúdo de tutorial sobre Golang.

Iremos juntos aprender um pouco mais sobre a linguagem de programação Go.

E o que tem de tão especial nesta nova linguagem para ter se tornado em tão pouco tempo em uma das linguagens mais pedidas pelas empresas e mais estudadas pelos programadores?

>> Confira também: GoLang: busca binária com testes unitários

O que é Golang ou linguagem Go

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

É um projeto opensource e foi apresentada ao mundo em Novembro de 2009.

O que é uma linguagem compilada

Uma linguagem compilada é uma linguagem que após o programador ter finalizado seu código, ele tem que rodar um programa chamado compilador.

Este programa além de fazer uma análise sintática procurando por erros na maneira de escrever o código, ele também realiza uma análise semântica, buscando por erros na lógica da construção do código.

Se houver erros de algum desses tipos, o código não é compilado, isso evita, por exemplo, que esses erros sejam descobertos quando o código estiver em execução (em produção).

Outra vantagem do código compilado é que depois desse 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?

Estaticamente tipada significa que para cada tipo de váriável que o programador for usar (int, float, string), ele deve tipar, ou seja, declarar de qual tipo é aquela variável que somente aceitará dados desse tipo.

Isso evita erros comuns em outras linguagens quando um função recebe um dado de um tipo que não é esperado.

Mas é só isso que Go oferece?

Não pessoal, ainda tem mais! Vou contar um pouco da minha história com Go.

Há dois anos e meio atrás, na empresa onde trabalhava à época, começamos um novo projeto.

Uma blockchain totalmente desenvolvida por nós com alguns prerequisitos e escolhemos Go para nos ajudar neste desafio.

A escolha dessa nova linguagem não foi por acaso, após extensa pesquisa de mercado decidimos por ela pelos mesmos motivos que estou elencando neste artigo.

Esta escolha se mostrou muito acertada tanto do ponto de vista de engenharia para o time, quanto do ponto de vista pessoal para mim como programador.

Desde então não parei mais de aprender e utilizar essa linguagem para todos meus projetos.

Quais outros pontos fortes da linguagem Go?

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

Com poucos comandos no meu notebook, eu produzo um binário executável para uma Raspberry Pi que possuo para fazer testes.

Também é possível produzir binários para Windows ou Mac de maneira similar.

Os executáveis podem ser compilados de maneira estática.

Isso significa que todas as bibliotecas que aquele binário utilizar estarão dentro desse binário, dispensando assim a instalação de qualquer outro software na máquina que irá executar aquele programa.

Em geral, os programas escritos em Go são mais rápidos que outras linguagens muito utilizadas hoje como Ruby, Javascript ou Python. Bem mais rápido.

Como a linguagem Go foi pensada?

Go foi pensado e arquitetado com concorrência e paralelismo em mente.

Ela já vem de “fábrica” com goroutines, como são chamadas as chamadas de execução em paralelo da linguagem e também com channels, canais de comunicação entre partes diferentes do seu código trazendo com isso maneiras fáceis de produzir códigos assíncronos.

A biblioteca padrão da linguagem é bastante completa e vem de fábrica com muitas ferramentas bem úteis para qualquer programador backend entre elas, bibliotecas criptográficas e servidores de http.

Além disso ainda oferece testes unitários sem precisar de ferramentas externas.

Só é preciso criar um arquivo com o mesmo nome e adicionar _test ao final para testar um arquivo.

Tutorial Golang: vamos aos testes!

Para testar o arquivo abaixo:

server.go
server_test.go

Outro fator muito positivo é que existe uma comunidade muito ativa em torno da linguagem com palestras, encontros e canais de comunicação online. Além de muitos repositórios com código aberto no Github para serem estudados e utilizados.

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
}

Neste código acima, temos uma função principal main, que é a função onde todos os programas em Go iniciam sua execução.

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

Quando digitamos os símbolos := juntos estamos declarando uma variável a por exemplo e atribuindo um valor 10 a ela que é do tipo int, ou seja ela já fica tipada com o tipo desse valor.

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

Na última linha da função main, temos o print no console do texto, seguido pelo valor da variável c, que nesse caso é 30.

Apache Kafka: o que é e como integrar dados

Como executar um código com Go

Há duas maneiras de executarmos o código citado de acordo com este tutorial golang:

go build main.go

Esse comando compila esse arquivo para um binário com o mesmo nome, que depois poderá ser executado em máquina *NIX com o comando:

./main

Já o comando abaixo, compila e executa o binário facilitando assim para o desenvolvedor ver o output de seu código:

go run main.go

Com isso termino aqui meu artigo, deixarei alguns links para vocês que me ajudaram bastante no início.

1- Golang tour;

2- Go by example;

3- Awesome Go by Avelino

Espero que você tenha gostado desse artigo introdutório de tutorial sobre golang.

Que tal entender um pouco mais sobre a linguagem? Aprenda neste meu próximo artigo sobre como funciona a criptografia usando Go.

Quer conhecer a plataforma líder em recrutamento tech?

A solução mais completa para recrutar os melhores talentos tech.

Precisa de ajuda para recrutar talentos?

Conheça o Serviço de Recrutamento da Geekhunter

Leituras Recomendadas

Quer receber conteúdos incríveis como esses?

Assine nossa newsletter para ficar por dentro de todas as novidades do universo de TI e carreiras tech.