Junior — Middle
Cum se disting metodele de creare a unei tăieturi în Go folosind var, make și atribuiri pe indici sau prin append?
sobes.tech AI
Răspuns de la AI
În Go, slice-urile pot fi create în diferite moduri, care diferă în inițializare și alocare de memorie:
- Declarație cu
var— creează o slice nil, care nu indică către un array și are lungimea și capacitatea de 0.
var s []int // slice nil
- Crearea unei slice prin
make— alocă un array cu lungimea și capacitatea specificate și returnează o slice care indică către acest array.
s := make([]int, 5) // slice de lungime 5, umplut cu zero
-
Atribuire pe indici — posibilă doar dacă slice-ul este deja inițializat și are o lungime suficientă.
-
Adăugarea de elemente cu
append— adaugă elemente în slice, și dacă este necesar, mărește capacitatea și alocă un nou array.
s = append(s, 10) // adaugă elementul 10 în slice
Astfel, var creează o slice nil goală, make — o slice cu memorie alocată, atribuirea pe indici necesită o lungime existentă, iar append extinde dinamic slice-ul.