Sobes.tech
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:

  1. 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
  1. 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
  1. Atribuire pe indici — posibilă doar dacă slice-ul este deja inițializat și are o lungime suficientă.

  2. 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.