image

Acesse bootcamps ilimitados e +750 cursos pra sempre

70
%OFF
João Theodoro
João Theodoro10/06/2026 17:17
Compartilhe

GoLang: Uma breve introdução

  • #GoLang

image

Ao longo da busca por linguagens de programação simples e com fácil aprendizado, se encontra a famosa GoLang do Google, nascida por volta de 2010. Seu objetivo era claro, ser veloz, trabalhar com multi-thread e concorrência, coisas que a equipe da linguagem tinham dificuldade de fazer com C/C++, fazendo eles não gostarem muito dos resultados. Além disso tudo a própria Google queria algo mais robusto, simples e que fosse seu, Nascia então o Go.

Estrutura de um projeto Go

A sua estrutura é composta por módulos e um arquivo main.go, pense nele como o motor da aplicação. Todos eles acompanhados de um go.mod (declaração de módulo). Veja só:

image

Obs.: Esse é um mero exemplo didático, leia mais afundo estruturas de pastas em GoLang

Vantagens do Go

Ele possui muitas vantagens, tais como:

  1. Módulo de testes nativo
  2. Tudo que você precisa já esta lá (baterias inclusas), mas claro, existem libs de vários devs por aí
  3. Criação de Scripts de automação
  4. APIs Backend é algo excepcional
  5. Filosofia de consistência na linguagem
  6. Fácil de aprender
  7. Executável nativo

Claro que existem muitas outras. E você pode ler todas aqui.

Variáveis e main.go

Em GoLang existem duas maneiras de declarar variáveis. Mas afinal, oque elas são? Variáveis são um espaço que o seu programa ocupa da memória RAM, tudo no momento em que seu programa está sendo executado e processando dados ou fazendo cálculos matemáticos. Elas existem até seu programa parar de ser executado ou se forem desalocada da memória pelo dev, prática comum em C/C++, mas não no Go.

Coletor De Lixo (GC)

Ainda falando das variáveis, Go tem uma forma diferente de equilibrar e ajustar o uso de recursos, enquanto no C/C++ usamos algo como: malloc ou outras funções, no Go isso é feito por baixo dos panos, aonde temos o "Lixeiro", imagine algo como: Todo dia em frente a sua casa passa o caminhão de lixo, pegando tudo aquilo que você não precisa mais ou perdeu valor de uso. Em Go é basicamente a mesma coisa, o GC joga fora, ou melhor limpa da memória recursos que o programa não precisa mais, deixando tudo rápido e bem estável.

Var, const e o operador :=

Para entendermos tudo de maneira muito simples, veja oque cada Keyword (palavra-chave), faz no Go:

VAR: Declaramos variáveis de maneira explicita e literal, ou seja, aqui dizemos algo como "Isso é variável" e então damos um nome a ela, que de regra não pode iniciar com números, conter espaços, assentos ou emojis. Veja o código:

var nome_pessoa string = "João" // repare que eu usei underscore (_) para separar nome de pessoa, isso se chama snake_case (caso_cobra) :)

CONST: Suponha que você não queira que um valor mude (varie = variável), mas que ele seja constante (fixo). Então usamos const como palavra chave. Veja:

const PI float32 = 3.1415 // PI assim como o número de Euler é uma constante matemática, que usamos em cálculos de área e na física

Operador := e inferência: Quem já passou pelo Delphi (Pascal), já se deparou com o famoso :=, quando declarava variáveis, pois bem, em Go ele também serve para isso, inferindo o tipo, ou seja, é como eu falar para alguém que dentro da caixa de um bombom tem ele próprio, mas a marca não foi colocada (Nestle, Garoto), eu inferi isso, mas a pessoa quando abriu com toda certeza disse: "Ei, espera. Esse é um sonho de valsa da Nestle!". Em Go você diz algo como:

nome_pessoa := "João" // Go vai saber que é string e vai pensar: Hummm.. Ele está me dizendo que é var nome_pessoa string = "João"
var nome_pessoa = "João" // também posso fazer essa inferência

Note como isso simplifica. Fato interessante, todo dev Go usa :=, é quase mantra!

Tipos de dados em Go

Os tipos são:

bool

string

int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr

byte // alias for uint8

rune // alias for int32
   // represents a Unicode code point

float32 float64

complex64 complex128

Um simples programa em Go

Para que você possa entender a estrutura básica de um programa GoLang eu preparei o seguinte código:

import "fmt" // fmt é a sigla para format
/*
 Esse é um comentário de multi-linha.
 Não será executado!
*/
// Esse é o comentário curto, de uma única linha

// ponto de execução do programa
func main() {
 fmt.Println("Hello World!") // imprime algo na tela
 var message string = "GoLang é muito divertida!"
 fmt.Println(message)
 
 nome := "João" // string
 idade := 25 // int
 eh_maior := true // bool
 altura := 1.83 // float32
 fmt.Printf("Me chamo %s, tenho %d idade e possuo %.2f de altura.\n", nome, idade, altura) // print formatado
 fmt.Println("Sou maior de idade?", eh_maior)
}

Aqui podemos ver várias coisas novas, porém, falarei do fmt, Println, Printf e main. Vamos começar pelo fmt, ele é um módulo usado para tratar de fornecer os dois métodos de saída:

  • Println(...args), imprime quebrando a linha, posso passar vários argumentos, incluindo textos e variáveis
  • Printf(string, ...args), imprime em uma única linha e por isso, usa-se o \n para quebra-la, um texto com %s/d/f e as variáveis que são os args

Além disso temos também a palavra reservada func (função/function), que podemos usar para criar várias funções com ou sem retorno. Uma delas é especial e única em seu programa a main() (principal), pois é aonde o seu software vai dar "arranque no motor".

Vemos também o import, que usamos para importar módulos e suas funcionalidades. O Go vai reclamar se você importar um módulo e não usar ele.

Curiosidades

  • O for do Go também é while (sim ele não existe em go)
  • Não tem operadores ternários (embora esteja em estudo)
  • Para coisas públicas em módulos usamos a primeira letra maiúscula e para privado minúscula

Dicas de estudo e ferramentas

Se quiser explorar o Go você pode usar sites online como:

Sempre anote tudo que aprendeu em apps como Notion, Obsidian ou um caderno físico e pratique sempre.

Espero ter dado a você um pequeno gostinho e vontade de aprender Go! Até a próxima!

Compartilhe
Recomendados para você
Bootcamp Corpay - Back-end do Zero a Prática
GFT - Fundamentos de Cloud com AWS
Bootcamp Bradesco - GenAI, Dados & Cyber
Comentários (0)