Sobes.tech
Junior — Middle

Ce se întâmplă dacă creezi o secțiune cu o valoare nulă și ce operații sunt permise cu ea?

sobes.tech AI

Răspuns de la AI

În Go, o slice cu valoare zero este o slice nil. Nu indică către niciun array și are lungimea și capacitatea egală cu zero.

Operațiuni permise cu o astfel de slice:

  • Obținerea lungimii și capacității (len(slice) == 0, cap(slice) == 0)
  • Iterarea peste slice (ciclul nu se va executa)
  • Adăugarea de elemente prin append, ceea ce va crea o nouă slice cu memorie alocată

Exemplu:

var s []int // slice nil
fmt.Println(s == nil) // true
fmt.Println(len(s))   // 0
s = append(s, 1)      // acum s nu este nil, conține un element

Nu se poate accesa elemente după index, deoarece slice-ul este gol și acest lucru va provoca o panică.