Sobes.tech
Junior — Middle

Como é determinado o tamanho do slice em memória na linguagem de programação?

sobes.tech IA

Resposta da IA

No Go, um slice é uma estrutura que contém três campos: um ponteiro para um array, um comprimento e uma capacidade. O tamanho do slice na memória é determinado pela soma dos tamanhos desses três campos.

Tipicamente, o tamanho de um slice ocupa 24 bytes em sistemas de 64 bits (8 bytes por campo).

Importante: o slice em si não contém os dados, apenas uma referência ao array onde os elementos são armazenados. O tamanho dos dados depende do comprimento do slice e do tamanho do tipo dos elementos.

Exemplo:

var s []int
// s ocupa um tamanho fixo (24 bytes),
// mas os dados aos quais ele faz referência ocupam len(s)*sizeof(int) bytes