Executando verificação de segurança...
1

Opa, também sou fan de Golang apesar de não ter tanto problema quanto aos slices. E na verdade eu tenho algumas dúvidas sobre o método Map que você pretende criar não seria melhor um ToMap para converter para o Map nativo do golang? ou tu só quer tratar os slices como map?


Carregando publicação patrocinada...
2

Na verdade a função Map não tem nada a ver com a estrutura de dados. Ela funciona da mesma forma que o método Array.map do javascript, onde você executa uma callback em cada elemento da array e então retorna um novo arrays com os valores de retorno desse callback.

Por exemplo, esse código pega cada número em um array e retorna um novo array com os valores dobrados:

let arr = [1, 2, 3, 4];
arr.map(n => n * 2); //[2, 4, 6, 8]

Mesmo código em go:

n := arrays.New(1, 2, 3, 4)
arrays.Map(n, func(_ int, x int) int { return x * 2 }) //[2, 4, 6, 8]
1

Ah sim, esqueci que o map do javascript era mais puxado para programação funcional

Enfim, vou dar uma brincada com o código e uma refatorada, se tu quiser entrar em contato depois tem meu discord no perfil