Desenvolvimento Back-end Go

O que é e como começar com Go (Golang)?

Neste artigo vamos ter o contato inicial com a linguagem Go (Golag) e aprender um pouco sobre as suas características e como funciona a sua sintaxe.

há 1 ano 6 meses


Você sabia que a TreinaWeb é a mais completa escola para desenvolvedores do mercado?

O que você encontrará aqui na TreinaWeb?

Conheça os nossos cursos

Atualmente são tantas as opções de linguagens de programação à nossa disposição que ficamos perdidos em qual estudar. Para lhe ajudar nessa escolha, neste artigo vamos falar o que é Golang e como você pode começar com essa linguagem.

O que é Golang?

Go ou Golang como é comumente conhecida pela comunidade, é uma linguagem de programação desenvolvida pela Google em setembro de 2007, mas que só veio a público em novembro de 2009.

Grandes nomes da área da computação fizeram parte do desenvolvimento dessa linguagem, sendo eles, Robert Griesemer, Ken Thompson e Rob Pike. A linguagem Go foi desenvolvida visando solucionar os desafios de engenharia enfrentados pelos desenvolvedores e desenvolvedoras do Google ao utilizar a linguagem C.

Go tem como suas principais características:

  • É uma linguagem compilada;
  • Estaticamente e fortemente tipada, além de possuir o recurso de inferência de tipos ou duck typing;
  • Possui um garbage collector integrado, prevenindo problemas de vazamento de memória e um gerenciamento de memória apropriado;
  • É uma linguagem opinativa, ela segue um sistema de tipos delimitado e lança erros quando variáveis ou bibliotecas não utilizadas são declaradas no programa;
  • É simples de compilar e empacotar, gerando binários que podem ser executados diretamente pelo sistema operacional sem a necessidade de instalar nenhum interpretador previamente;
  • Extensa biblioteca padrão com ferramentas para comunicação HTTP, serialização e desserialização de dados, expressões regulares e muito mais.

Magento - Criação de lojas virtuais Avançado
Curso Magento - Criação de lojas virtuais Avançado
Conhecer o curso

Quem usa Golang? E o que pode ser feito?

Go é uma linguagem multipropósito, podendo ser utilizada para o desenvolvimento dos mais variados tipos de aplicações, como, por exemplo, interfaces de linha de comando (CLI’s), aplicações desktop, sites, web API’s e muito mais.

Atualmente grandes empresas utilizam Go em seus produtos, alguns exemplos são:

  • Google: como criadora da linguagem, Go é altamente adotado pela empresa na construção das maiorias dos serviços;
  • American Express: Go é utilizado para prover escalabilidade e velocidade nos sistemas de pagamentos e recompensas;
  • Bitly: todos os sistemas atuais da empresa foram escritos inteiramente utilizando Go e inclusive sistemas legados foram reescritos com a linguagem;
  • Dropbox: os sistemas críticos para performance foram migrados para Go por conta da alta performance da linguagem ao realizar operações concorrentes;
  • Docker: a ferramenta Docker foi inteiramente escrita na linguagem Go.

Além dos exemplos citados acima existem diversas outras empresas que utilizam a linguagem em seus produtos, caso queira saber mais, acesse a lista de estudos de caso disponível no site da linguagem Go.

Sintaxe do Golang

Como qualquer outra linguagem, Go possui as suas próprias regras de sintaxe e estrutura. Vale ressaltar que essa sintaxe é bem simples quando comparada com linguagens mais verbosas como Java ou C#, pois a Go possui uma filosofia de ser simples e possuir apenas o necessário.

Vamos ver alguns exemplos da sintaxe da linguagem, e caso queira testar você pode executar os exemplos no site Go Playground.

Vamos imprimir no terminal o tradicional “Hello, World”:

package main

import "fmt"

func main() {
	fmt.Println("Hello, World")
}

Utilizar estruturas condicionais na Go também é bastante simples, veja um exemplo tradicional do uso da estrutura if/else:

package main

import "fmt"

func main() {
	idade := 18
	if idade >= 18 {
		fmt.Println("Você é maior de idade")
	} else {
		fmt.Println("Você é menor de idade")
	}
}

Também é simples utilizar uma estrutura de repetição para iterar sobre os elementos de uma estrutura de dados:

package main

import "fmt"

func main() {
	alunos := []string{"Cleyson", "Elton", "Sara", "Wesley", "Anna"}
	for _, aluno := range alunos {
		fmt.Println(aluno)
	}
}

Na Go você também pode definir suas próprias funções. Vamos então escrever uma função que recebe dois números e realiza a operação de multiplicação:

package main

import "fmt"

func main() {
	resultado := multiplicacao(10, 2)
	fmt.Println(resultado)
}

func multiplicacao(num1 int, num2 int) int {
	return num1 * num2
}

Com os exemplos de código acima é possível perceber alguns pontos bem característicos da linguagem Go, como, por exemplo, o uso do operador := para criar e atribuir o valor inicial a uma variável, o uso de letra maiúscula no início do nome de funções de bibliotecas e também que quando precisamos definir a tipagem de uma variável essa tipagem vem depois do nome da variável.

Lógica de Programação - Iniciando na programação
Curso Lógica de Programação - Iniciando na programação
Conhecer o curso

Mercado de trabalho

A linguagem Go ainda não possui uma presença tão forte no mercado, principalmente pelo fato de ser uma linguagem que podemos considerar como nova, porém é comum vermos a Go sendo utilizado em pequenas partes dos sistemas de diversas empresas, principalmente em empresas que utilizam sistemas baseados em uma arquitetura de microsserviços.

Se observarmos os dados coletados na pesquisa The State of Developer Ecosystem em 2021 pela empresa JetBrains, veremos que mesmo a Go sendo uma linguagem nova, ela consegue ocupar um dos 10 (dez) primeiros lugares no ranking de linguagens mais populares.

Ainda observando os dados dessa pesquisa, é possível notar alguns insights promissores em relação ao futuro da linguagem, como, por exemplo, o nível de popularidade a linguagem vem crescendo nos últimos anos, enquanto outras linguagens que ocupam posições mais elevadas no ranking ficaram estagnadas ou diminuíram.

Gráfico que mostra a evolução da popularidade das linguagens de programação entre os anos de 2017 e 2021, pesquisa realizada pela empresa JetBrains

Outro ponto interessante de observarmos é que a porcentagem de desenvolvedores e desenvolvedoras que pretendem migrar para linguagem Go é consideravelmente maior do que nas outras linguagens.

Mapa de calor que mostra a intenção de desenvolvedores e desenvolvedoras em migrar para outras linguagens no ano de 2021, pesquisa realizada pela empresa JetBrains

Como aprender Golang?

Para aprender Go é importante você buscar um material que te traga todos os conceitos da linguagem e que te ajude a colocar tudo em prática. Aqui na TreinaWebcurso Go Básico é excelente para você começar, pois ele aborda tudo isso.

Aconselho também nosso artigo sobre dicas de como estudar programação.

Durante o curso são abordados diversos tópicos, como, por exemplo:

  • Compreender a sintaxe básica da Golang;
  • Compreender conceitos básicos envolvidos na Go, como ponteiros de memória;
  • Utilizar as estruturas básicas da linguagem, como declaração de variáveis;
  • Utilizar as principais estruturas de conjuntos da Go, como arrays, slices e maps;
  • Entender as principais funções built-in, como make(), new(), panic(), recover() e defer;
  • Organizar o código em pacotes e utilizar os principais pacotes disponibilizados pela linguagem;
  • Entender como podemos utilizar concorrência com a Golang, inclusive com técnicas como os channels;
  • Entender o que são as structs na Go e como podemos utilizar um pouco de orientação a objetos com a linguagem;
  • Realizar operações de I/O no sistema operacional, como a criação e escrita de arquivos.

Go Básico
Curso Go Básico
Conhecer o curso

Conclusão

Conhecemos um pouco da linguagem Go, como as motivações que fizeram com que a mesma fosse criada, suas principais características, um pouco de sua sintaxe e como atualmente se encontra o seu ecossistema. Particularmente acho o Go uma linguagem fantástica par a qual venho dedicando os meus estudos nos últimos meses.

Espero que com esse artigo eu tenha pelo menos levantando um pouco a sua curiosidade sobre essa linguagem e caso tenha gostado do que viu, futuramente irei trazer outros artigos abordando tópicos mais avançados no uso da linguagem Go.

Autor(a) do artigo

Cleyson Lima
Cleyson Lima

Professor, programador, fã de One Piece e finge saber cozinhar. Cleyson é graduando em Licenciatura em Informática pelo IFPI - Campus Teresina Zona Sul, nos anos de 2019 e 2020 esteve envolvido em vários projetos coordenados pela secretaria municipal de educação da cidade de Teresina, onde o foco era introduzir alunos da rede pública no mundo da programação e robótica. Hoje é instrutor dos cursos de Spring na TreinaWeb, mas diz que seu coração sempre pertencerá ao Python.

Todos os artigos

Artigos relacionados Ver todos