Junior — Middle
Jakie wbudowane funkcje i operacje są dozwolone dla fragmentu, który nie został jeszcze zainicjowany?
sobes.tech AI
Odpowiedź od AI
W Go, niezainicjalizowana (czyli równa nil) slice można używać do następujących operacji:
- Sprawdzanie na nil:
if slice == nil {} - Uzyskiwanie długości i pojemności:
len(slice)icap(slice)zwrócą 0 - Można wykonywać operacje dodawania elementów za pomocą
append, na przykład:
var s []int // nil-slice
s = append(s, 1, 2, 3) // teraz slice jest zainicjalizowana i zawiera elementy
Jednak nie można odwoływać się do elementów po indeksie, na przykład s[0], jeśli slice jest nil lub pusty — spowoduje to panic.