O que é e como começar com Go (Golang)? \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 12 Horas 

 50 Min 

 46 Seg 

   Tempo restante da oferta: 12 50 46 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) O que é e como começar com Go (Golang)?  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) [ Go ](https://www.treinaweb.com.br/blog/categoria/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.

 [ Cleyson Lima ](https://www.treinaweb.com.br/blog/autor/cleyson-lima) 4 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/o-que-e-e-como-comecar-com-golang.jpg)  

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](https://go.dev/) 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](https://www.treinaweb.com.br/blog/quais-as-diferencas-entre-tipagens-estatica-ou-dinamica-e-forte-ou-fraca), 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.

[  ![Wordpress - Personalização do tema Avada](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/avada.svg)   Curso Wordpress - Personalização do tema Avada Conhecer o curso ](https://www.treinaweb.com.br/curso/wordpress-personalizacao-do-tema-avada)

## 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](https://go.dev/solutions/#case-studies).

## 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](https://go.dev/play/).

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

```go
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`:

```go
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:

```go
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:

```go
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.

[  ![JavaScript  - Manipulação de elementos HTML no DOM](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/javascript.svg)   Curso JavaScript - Manipulação de elementos HTML no DOM Conhecer o curso ](https://www.treinaweb.com.br/curso/javascript-manipulacao-de-elementos-html-no-dom)

## 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](https://www.jetbrains.com/lp/devecosystem-2021/) pela empresa [JetBrains](https://www.jetbrains.com/), 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](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/grafico-evolucao-popularidade-linguagens-2017-ate-2021.png)

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](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/mapa-de-calor-sobre-intencao-de-migracao-de-linguagens.png)

## 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 [TreinaWeb](https://www.treinaweb.com.br/) o [curso Go Básico](https://www.treinaweb.com.br/curso/go-basico) é excelente para você começar, pois ele aborda tudo isso.

Aconselho também nosso artigo sobre [dicas de como estudar programação](https://www.treinaweb.com.br/blog/dicas-de-como-estudar-programacao/).

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](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/go.svg)   Curso Go Básico Conhecer o curso ](https://www.treinaweb.com.br/curso/go-basico)

## 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.

- [ #go ](https://www.treinaweb.com.br/blog/tag/go)
- [ #golang ](https://www.treinaweb.com.br/blog/tag/golang)
- [ #o que é go ](https://www.treinaweb.com.br/blog/tag/o-que-e-go)
- [ #como começar com go ](https://www.treinaweb.com.br/blog/tag/como-comecar-com-go)

Autor

 ![Cleyson Lima](//secure.gravatar.com/avatar/db30efb102ffa5d5204cebe12060b111?d=mm)

## 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](https://www.treinaweb.com.br/blog/autor/cleyson-lima)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/o-que-e-e-como-comecar-com-golang-400x280.jpg)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     4 anos atrás

    ##  [ Como instalar a Golang e executar nosso primeiro exemplo ](https://www.treinaweb.com.br/blog/como-instalar-a-golang-e-executar-nosso-primeiro-exemplo) 

     Neste artigo iremos aprender como instalar a Golang nos sistemas Windows, Linux e macOS e como executar nosso primeiro exemplo.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/o-que-e-e-como-comecar-com-golang-400x280.jpg)  [ Guias ](https://www.treinaweb.com.br/blog/categoria/guias) 

     3 anos atrás

    ##  [ Guia da linguagem Go ](https://www.treinaweb.com.br/blog/guia-da-linguagem-go) 

     Nesse guia de Go você aprenderá o necessário para criar os seus primeiros softwares com a linguagem de programação Go. Acesse agora mesmo!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/o-que-e-e-como-comecar-com-golang-400x280.jpg)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     4 anos atrás

    ##  [ Trabalhando com funções na Golang ](https://www.treinaweb.com.br/blog/trabalhando-com-funcoes-na-golang) 

     Neste artigo vamos aprender sobre as funções na Golang. Veremos o que são, qual a sua importância em nossos programas e como utilizá-las.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/o-que-e-e-como-comecar-com-golang-400x280.jpg)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     4 anos atrás

    ##  [ Conhecendo variáveis e constantes na Golang ](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-na-golang) 

     Conheça neste artigo os tipos de dados presentes e a sintaxe para que possamos declarar variáveis e constantes na Golang.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/01/como-comecar-com-python-400x280.jpg)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     9 anos atrás

    ##  [ Como começar com Python? ](https://www.treinaweb.com.br/blog/como-comecar-com-python) 

     Quer iniciar seus estudos em Python e não sabe por onde começar? Veja o que preparamos pra você.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/11/06103205/orm-lite-400x280.jpg)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     9 anos atrás

    ##  [ Utilizando o Micro ORM ServiceStack.OrmLite em uma aplicação ASP.NET Core ](https://www.treinaweb.com.br/blog/utilizando-o-micro-orm-servicestack-ormlite-em-uma-aplicacao-asp-net-core) 

     Aprenda na prática como fazer uso do micro framework ORM ServiceStack.OrmLite em uma aplicação ASP.NET Core.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/01/17113117/IMG-MARYLENE-1-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     9 anos atrás

    ##  [ 5 linguagens de programação promissoras para se estudar em 2018 ](https://www.treinaweb.com.br/blog/5-linguagens-de-programacao-promissoras-para-se-estudar-em-2018) 

     Cinco linguagens de programação de muito potencial no mercado de trabalho em 2018.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/10103951/capa-5-linguagens-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     7 anos atrás

    ##  [ 5 linguagens de programação promissoras para se estudar em 2020 ](https://www.treinaweb.com.br/blog/5-linguagens-de-programacao-promissoras-para-se-estudar-em-2020) 

     Nada melhor do que finalizar o ano de 2019 já sabendo quais as linguagens devem se destacar no próximo ano. Que tal aproveitar e traçar uma meta de estudos envolvendo as linguagens mais promissoras para 2020?

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/01/01132725/PETAPOCO-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     9 anos atrás

    ##  [ Utilizando o Micro ORM PetaPoco em uma aplicação ASP.NET Core ](https://www.treinaweb.com.br/blog/utilizando-o-micro-orm-petapoco-em-uma-aplicacao-asp-net-core) 

     Aprenda a utilizar o Micro ORM PetaPoco em uma aplicação ASP.NET Core.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/01/17123855/IMG-MARYLENE-3-1-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     9 anos atrás

    ##  [ Qual linguagem devo aprender primeiro? ](https://www.treinaweb.com.br/blog/qual-linguagem-devo-aprender-primeiro) 

     Há muitas dúvidas sobre qual o primeiro passo para se iniciar na carreira de desenvolvedor. Veja nesse artigo algumas dicas.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/08/utilizando-o-micro-orm-dapper-em-uma-aplicacao-asp-net-core-400x280.jpg)  [ ASP .NET ](https://www.treinaweb.com.br/blog/categoria/asp-net) 

     9 anos atrás

    ##  [ Utilizando o Micro ORM Dapper em uma aplicação ASP.NET Core ](https://www.treinaweb.com.br/blog/utilizando-o-micro-orm-dapper-em-uma-aplicacao-asp-net-core) 

     Conheça o micro framework ORM Dapper.NET e aprenda a utilizá-lo em uma aplicação ASP.NET Core.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/o-que-e-programacao-reativa-400x280.png)  [ Arquitetura de Software ](https://www.treinaweb.com.br/blog/categoria/arquitetura-de-software) 

     6 anos atrás

    ##  [ O que é programação reativa? ](https://www.treinaweb.com.br/blog/o-que-e-programacao-reativa) 

     Confira neste artigo o que vem a ser programação reativa, um princípio de desenvolvimento de software que vem ganhando espaço entre os desenvolvedores.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **12h 50min 46s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
