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)ecap(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.