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
appendfunksiyası 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