Quando utilizar generics?

Assim como as goroutines, uma das dúvidas que mais tenho visto quando o assunto é generics, a nova feature do Go 1.18, é quando ela deve ser utilizada.

Nesse post, baseado no post publicado em 12 de abril no blog oficial do Go (When to use generics), vou tentar passar um pouco das dicas dadas pelo Ian Lance Taylor.

Ele começa o primeiro vídeo falando sobre como escrever código Go. De forma muito simples e em tradução livre ele diz:

Escreva código, não desenhe tipos.

Leia mais »

O que é e como usar a nova constraint comparable

Desde a versão 1.18 do Golang, uma nova constraint está disponível para nos ajudar no dia a dia de trabalho.

Nesse post vamos explorar essa constraint para entender o que ela é e onde podemos utiliza-lá.

De forma bem simples, a constraint comparable é uma interface para todos os tipos onde podemos utilizar == ou != para compará-los, ou seja, podemos utilizá-la para ints, floats, booleans, strings, ponteiros, channels, structs onde todos os campos são comparáveis e arrays de tipos comparáveis.

Abaixo você pode ver um pequeno exemplo de sua utilização em uma função com generics.

Leia mais »