Junior — Middle
O que acontece se criar um slice com um valor nulo e que operações são permitidas com ele?
sobes.tech IA
Resposta da IA
No Go, uma fatia com valor nulo é uma fatia nil. Ela não aponta para nenhuma matriz e tem comprimento e capacidade iguais a zero.
Operações permitidas com tal fatia:
- Obter comprimento e capacidade (
len(slice) == 0,cap(slice) == 0) - Iterar sobre a fatia (o ciclo simplesmente não será executado)
- Adicionar elementos usando
append, o que criará uma nova fatia com memória alocada
Exemplo:
var s []int // fatia nil
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // agora s não é nil, contém um elemento
Não é possível acessar elementos por índice, pois a fatia está vazia e isso causará um pânico.