ExpertiDict

Go · Essencial · Inglês · Técnico

make

/meɪk/verbo

Função embutida que cria e inicializa slices, maps e canais, com tamanho ou capacidade opcionais.

Onde usar

'make([]int, 0, 100)' pré-aloca capacidade e evita realocações em um loop com append. Esquecer o make num map é fonte clássica de panic.

Em código

s := make([]int, 0, 10)
m := make(map[string]bool)
ch := make(chan int, 2)
fmt.Println(len(s), cap(s), len(m), cap(ch))

Exemplos

Use make with a capacity to avoid reallocations.

Use make com capacidade para evitar realocações.

You forgot to make the map, that's why it panics.

Você esqueceu de dar make no map, por isso ele dá panic.

Cuidado

Não é o mesmo que new: make só serve para slice, map e channel e devolve o valor pronto, enquanto new devolve um ponteiro para o zero value.

Veja também

Todos os termos de Go