DEV Community

Cover image for [Resenha] Programando em Go - Caio Filipini
Victor de Oliveira Marinho
Victor de Oliveira Marinho

Posted on

[Resenha] Programando em Go - Caio Filipini

Terminei recentemente o livro “Programando em Go” do Caio Filipini, e gostaria de comentar sobre algumas coisas muito bacaninhas que pude aprender.

Capa do Livro - Programando em Go

Eu já havia feito antes um curso da Udemy sobre Go, e foi até positiva a experiência, embora eu tenha achado algumas partes um pouco rasas, mas acredito que era premissa do curso, uma vez que a ideia era de ser um curso introdutório. Fora isso, tenho percebido que meu foco para cursos em vídeo online está quase zero, então pode ter sido mais culpa minha mesmo.

Pois bem, pesquisando por livros da linguagem encontrei esse do Caio e decidi me aventurar, depois de anos sem ler um livro técnico era um grande desafio em que eu me colacava. Claro que durante esses anos eu li inúmeros capítulos de livros técnicos, mas até então não tinha me proposto a ler de cabo a rabo - que é algo que tenho buscado mais recentemente para me aprofundar em alguns temas.

O livro se inicia com uma breve introdução, mas que já vai introduzindo elementos centrais da linguagem. Logo no segundo capítulo foi onde eu comecei a ficar envolvido com a leitura do livro, quando como se não fosse nada, após apresentar elementos de sintaxe básica, ele mostra a facilidade de implementação do quicksort em Go. Foi um dos capítulos que mais gostei.

Longe de ficar descrevendo cada capítulo, acho que o sucesso do livro se dá em trazer exemplos despretensiosos, para posteriormente ir destrinchando e explicando os novos elementos que vão surgindo nos códigos - como o que é feito entre o capítulo 3 (com exemplos de pilha inclusive) e 4/5 (onde se explica os elementos de maps, slices, arrays e tipos customizáveis que aparecem no capítulo anterior).

Gostei muito do capítulo sobre funções, onde pude aprofundar meus conhecimentos sobre funções de primeira classe, funções anônimas, closures e high-order functions. Junto disso, o capítulo sobre Goroutines foi importante para expandir o que aprendi no curso da Udemy, quando ele aborda a questão de channels, buffer, select, além de sincronização - coisas que até então não tinha visto, e isso ampliou muito a minha visão de como tirar proveito disso em projetos que já atuei.

Por fim, os capítulos finais trabalha em cima de um exemplo que cai muito em entrevista de devs, que é um encurtador de URLs, e foi muito bacana como a cada capítulo o projeto vai se desenvolvendo, de como o autor apresenta os problemas que vão surgindo em termos de código, explicando as bibliotecas envolvidas, e fornecendo alternativas que podemos tomar para solucionar esses problemas. O ponto alto disso é o capítulo sobre a refatoração, que foi muito interessante ter esse acompanhamento com o autor de como pensar refatoração usando o que Go tem para nos oferecer - claro que só com a experiência em projetos reais para ir pegando a malícia da refatoração.

Enfim, um artigo curtinho, só pra tá vivo nessa plataforma, e de uma leitura muito interessante (e importante) para minha carreira, vale muito a leitura para quem tem interesse em embarcar nesse universo de Go. Agora a ideia é desenvolver um CLI para botar em prática, sem ajuda de livro e do autor, os conhecimentos aprendidos e quem sabe logo menos volto com um artigo sobre como desenvolver esse CLI básico em Go. Até a próxima!

Top comments (0)