Sobes.tech
Junior — Middle

O que contém uma slice não inicializada numa linguagem de programação?

sobes.tech IA

Resposta da IA

Em Go, um slice é uma estrutura que contém três campos: um ponteiro para um array, um comprimento (len) e uma capacidade (capacity). Se o slice não estiver inicializado, ou seja, declarado mas não atribuído, ele tem o valor nulo nil.

Slice não inicializado:

  • O ponteiro é igual a nil.
  • O comprimento e a capacidade são 0.

Exemplo:

var s []int
fmt.Println(s == nil) // true
fmt.Println(len(s))    // 0
fmt.Println(cap(s))    // 0

Este tipo de slice não aponta para nenhum array e não contém elementos. Pode ser usado com segurança em operações, por exemplo, adicionando elementos com append, após o que o slice será inicializado automaticamente.