Go Básico: Generics
A linguagem Go nasceu sem o recurso conhecido como generics , que é uma forma mais "elegante" de criar novos tipos de parâmetros ( exp: um parâmetro de uma função ) que podem ser compostos de outros tipos. Para ilustrar, podemos criar uma função que some a pontuação de todos os jogadores, representada em um mapa com seus nomes e sua pontuação final, que serão inicialmente números inteiros. package main import "fmt" func main() { scores := map[string]int{"User01": 100, "User02": 150, "User03": 50} fmt.Printf("Final score: %d\n", AddScores(scores)) } func AddScores(scores map[string]int) int { var total int for _, score := range scores { total += score } return total } Agora, vamos imaginar que precisamos lidar não apenas com o nosso mapa que representa os pontos em números inteiros, mas também com um novo mapa que representa a pontuação com números decimais. Essa simples alteração faria com que noss...