Sobes.tech
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) i cap(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.