Sobes.tech
Senior

Slice nədir və o, massivdən necə fərqlənir?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, massiv (array) — bu, eyni növ elementləri ehtiva edən sabit ölçülü strukturdur. Massivin ölçüsü elan ediləndə müəyyən edilir və proqramın icrası zamanı dəyişdirilə bilməz.

Slice — bu, massivdən dinamik və ölçüsü dəyişə bilən bir dilimdir. Bu, göstərici, uzunluq və tutumu ehtiva edən strukturdur. Dilimlər massivlə işləməyə imkan verir və lazım olduqda avtomatik olaraq genişlənir.

Əsas fərqlər:

  • Ölçü: massiv sabit ölçülüdür, dilim isə dinamikdir.
  • Keçirmə: massivlər dəyər kimi (kopyalanır), dilimlər isə istinad kimi (massivə göstərici) keçər.
  • Çeviklik: dilim append funksiyası ilə genişləndirilə bilər, massiv isə yox.

Nümunə:

var arr [3]int = [3]int{1, 2, 3} // sabit ölçülü massiv

var s []int = arr[0:2] // massivə istinad edən dilim

s = append(s, 4) // dilim genişlənir, ehtiyac olarsa, yeni massiv yaradılır