Sobes.tech
Junior — Middle

Que funções e operações incorporadas são permitidas para um slice que ainda não foi inicializado?

sobes.tech IA

Resposta da IA

No Go, uma slice que não foi inicializada (ou seja, é igual a nil) pode ser usada para as seguintes operações:

  • Verificação de nil: if slice == nil {}
  • Obter comprimento e capacidade: len(slice) e cap(slice) retornarão 0
  • Pode-se realizar operações de adição de elementos usando append, por exemplo:
var s []int // slice nil
s = append(s, 1, 2, 3) // agora a slice está inicializada e contém elementos

No entanto, não se pode acessar elementos por índice, por exemplo s[0], se a slice for nil ou estiver vazia — isso causará um pânico.