Junior — Middle
Dasturlashda bo'lak (slice) nima va u qanday ishlashini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Go'da dilim (slice), dinamik ve boyut olarak değiştirilebilir bir dizi parçasıdır. Bir yapıdır ve şunları içerir:
- dizinin ilk öğesine işaretçi,
- uzunluk (dilimdeki öğe sayısı),
- kapasite (dilim, yeniden tahsis edilmeden içerebileceği maksimum öğe sayısı).
Dilimler, verileri kopyalamaya gerek kalmadan öğe dizileriyle çalışmaya olanak tanır.
Bir dilim oluşturma ve kullanma örneği:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // indeksleri 1,2,3 olan öğelerin dilimi
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // bir öğe ekler, gerekirse yeni bellek tahsis edilir
fmt.Println(slice) // [2 3 4 6]
Dilimler, mevcut dilimlerden yeni dilimler oluşturmak, boyutlarını değiştirmek ve fonksiyonlara kopyalamadan geçirmek için kullanışlıdır.