Esta é uma pergunta antiga, mas aqui estão meus dois centavos. A resposta do PeterSO é um pouco mais concisa, mas um pouco menos eficiente. Você já sabe o quão grande será, então nem precisa usar o apêndice:
keys := make([]int, len(mymap))
i := 0
for k := range mymap {
keys[i] = k
i++
}
Na maioria das situações, provavelmente não fará muita diferença, mas não é muito mais trabalhoso. Nos meus testes (usando um mapa com 1.000.000 de int64
chaves aleatórias e gerando a matriz de chaves dez vezes com cada método), tratava-se de 20% mais rápido para atribuir membros da matriz diretamente do que usar anexar.
Embora a configuração da capacidade elimine realocações, o anexo ainda precisa fazer um trabalho extra para verificar se você atingiu a capacidade em cada anexo.