Conhecendo GO Lang – Parte 1

4 de March de 2022

O Começo

Para conhecer uma nova linguagem de programação, primeiramente gosto de entender como ela surgiu, quais são as suas características e os estudos de caso das empresas que tiveram alguma experiência com a tecnologia. Depois, faço as instalações necessárias para o desenvolvimento, e começo com o primeiro “Hello World”. Entrei no site da linguagem GO (2021), e me deparei com muito conteúdo. 

Depois de conhecer a linguagem e fazer o meu primeiro “Hello World”, procuro conhecer a sintaxe da linguagem com mais detalhes: declaração de variáveis, estruturas dos loops, funções, identação, etc. Para isso, eu encontrei o site GOPOREXEMPLO (2021), que exibe exemplos de códigos criados pelo desenvolvedor Mark McGranaghan e traduzidos pela GOLANGBR.

Como desenvolvedora, um “Hello Word” e alguns exemplos de códigos não são suficientes para conhecer uma linguagem, por isso resolvi desenvolver algo mais profissional.  Uni minhas experiências com desenvolvimento, consumo de APIS’s e no uso de banco de dados não relacionais (adquiridos na minha pós graduação de Big Data), e procurei algo que pudesse utilizar com a linguagem GO. Encontrei um artigo do CHADOKAR (2019) que ensina passo-a-passo uma aplicação utilizando GoLang, MongoDB e React, e foi perfeito para atingir o meu objetivo.

Portanto, pretendo descrever nesse artigo a minha experiência no processo de conhecimento da linguagem GO, desde a parte teórica (que é muito importante) até o desenvolvimento de um aplicativo funcional. Também pretendo expor a minha opinião sobre a linguagem, e não poderia deixar de compará-la com a linguagem Java que trabalho há mais de 10 anos. Espero também que esse artigo possa contribuir para aqueles que tem interesse em conhecer a linguagem GO.

Conhecendo GO

O GO começou no ano de 2007, quando Robert Griesemer, Ken Thompson e Rob Pike, colegas do Google, resolveram discutir sobre desenvolver uma nova linguagem para lidar com os desafios de engenharia que enfrentavam no dia a dia de trabalho (para uma empresa como o Google, nem faço ideia de quantos desafios enfrentaram com tantos recursos e serviços que são disponibilizados para o mundo inteiro). Em novembro de 2009 a linguagem foi criada, onde o Google lançou o GO como uma linguagem de programação de código livre.  No entanto, a linguagem ganhou popularidade somente nos últimos anos, lembro-me de ouvir falar da linguagem há uns 4 anos, mas até então não parei para conhecer.

Mas quais são as principais características de GO? Ao navegar pelo site, vi muito sobre velocidade, escalabilidade e redução do consumo de recursos. GO é uma linguagem compilada, de tipagem estática, procedural e concorrente. Por aí, já descobri que é uma linguagem bem diferente do Java: Java é uma linguagem multiplataforma orientada a objetos (longe de ser procedural) e possui uma conversão de tipos bem implícita.  Localizei uma vantagem de GO em relação ao Java: GO tende a ter programas mais compactos do que os programas em Java, e possuem uma estrutura em threads bem mais “leve” – os Goroutines. Mas, como funcionam os Goroutines na prática? Localizei um exemplo no site GOPOREXEMPLO (2021) de chamada simultânea através dos Gourotines (bem interessante!) conforme Figura 1:

 

Depois de descobrir tantas características da linguagem, ficou mais fácil entender os estudos de caso das empresas que começaram a utilizar essa tecnologia. Além do próprio Google, o Dropbox decidiu migrar o desempenho crítico do Python para aproveitar a simultaneidade e velocidade de GO, e o outro destaque que me chamou a atenção foi o crescimento do Mercado Livre utilizando GO, pois à medida em que o comércio online cresceu, aumentou a produtividade do desenvolvedor pela escrita de menos código. Nos próximos capítulos, pretendo mostrar um pouco do que aprendi da linguagem na prática.

O “Hello World”

O primeiro passo para criar o meu primeiro “Hello World” é instalar o GO: entrei no site https://go.dev/doc/install , baixei o instalador e executei. Gerou o meu GO path na pasta do meu usuário no Windows:

Para facilitar o desenvolvimento, criei a variável de ambiente GOPATH, configurando o diretório onde o GO foi instalado:

GO instalado!

Utilizei o VISUAL STUDIO CODE (2021) para criar os códigos. No meu GO PATH criei a pasta src/primeiro, e criei meu arquivo main.go. Executei o comando “go mod init” para criar meu arquivo go.mod. Pelo que eu entendi, o arquivo “go.mod” rastreia as dependências (pacotes) do meu projeto, o nome do module (o meu é o “primeiro”) e a versão do GO.  Também executei o comando “go build” para compilar o projeto.

Além do “Hello World”, naveguei pelo site GOPOREXEMPLO (2021) e vi como se comporta a sintaxe e declaração das variáveis. O meu primeiro fonte ficou assim:

Para executar o código, utilizei o comando “go run main.go” e obtive o resultado abaixo. Observei que a concatenação das variáveis é por vírgula, também podemos declarar uma variável sem precisar usar a cláusula “var” e, ao declarar uma variável int mesmo sem informar nenhum valor, ao pedir para printar, a variável fica com o valor zero.

Resolvi também fazer um “Hello World” na web, e me surpreendi com a facilidade: utilizando o pacote “net/http”, eu consigo colocar a porta que eu quero utilizar no servidor local e uso a função handler para chamar a minha página HTML:

A página criada:

Eis o meu Hello World na WEB!!!!

Registre-se em Nossa NewsLetter

Com esse registro você receberá semanalmente o resumo das principais matérias sobre Tecnologia & Transformação Digital. Prometemos não divulgar suas informações em circunstância alguma.

Error: Contact form not found.

Você pode gostar também de…

1 Comment

  1. Gabriel Andrade

    Muito interessante o artigo! Parabens Paty!
    Sempre muito bom aprender coisas novas!

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *