Curso: Iniciando com a linguagem Go do Google
Aula 05: As principais coleções em Go
Atividade 04: Slices em GoSeguindo a regra apresentada na aula sobre o tamanho do Slice em relação a um array de tamanho fixo, quando eu adiciono um elemento em um array ele dobra o tamanho anterior, acontece que no código abaixo eu inicializei um Slice da seguinte maneira
estados := []string{}
e usei a função nativa append() para adicionar ao slice um conjunto de dados. Seguindo a lógica de que ao incrementar o slice ele dobra a capacidade eu gostaria de entender como ele tratou o incremento no código abaixo, sendo que eu adicionei um conjunto de dados 4 vezes maior do que o tamanho inicial do slice.
Estou supondo que por baixo dos panos ele fez o incremento de um em um através de um loop, e foi dobrando o tamanho a cada iteração, gostaria de saber se é isso mesmo, ou ele trata de outra forma.
import (
"fmt"
)
func main() {
estados := devolveEstadosDoSudeste()
fmt.Println(estados)
}
func devolveEstadosDoSudeste() []string {
estados := []string{}
estados = append(estados, "RJ", "SP", "MG", "ES")
return estados
}