Sobes.tech
Junior — Middle

Ce funcții și operații încorporate sunt permise pentru un slice care nu a fost încă inițializat?

sobes.tech AI

Răspuns de la AI

În Go, o slice care nu a fost inițializată (adică, este egală cu nil) poate fi utilizată pentru următoarele operații:

  • Verificare pentru nil: if slice == nil {}
  • Obținerea lungimii și capacității: len(slice) și cap(slice) vor returna 0
  • Se pot realiza operații de adăugare a elementelor folosind append, de exemplu:
var s []int // slice nil
s = append(s, 1, 2, 3) // acum slice-ul este inițializat și conține elemente

Totuși, nu se poate accesa elemente după index, de exemplu s[0], dacă slice-ul este nil sau gol — acest lucru va provoca o panică.