Junior — Middle
Dasturlash tilida bo'laklar (slice) qanday ishlash prinsipi haqida tushuntirib berishingiz mumkinmi?
sobes.tech AI
AIdan javob
Go'da dilim (slice), bir türden öğelerin dinamik ve değişken boyutlu bir görünümüdür. İçerir:
- bir diziye işaretçi,
- uzunluk (dilimdeki öğe sayısı),
- kapasite (yeni bellek ayırmadan içerebileceği maksimum öğe sayısı).
Dilimler, dizilerin belirli bölümleriyle çalışmaya veya verileri kopyalamadan yeni dinamik diziler oluşturmaya olanak tanır.
Örnek:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // indeksleri 1,2,3 olan öğelerin dilimi: [2 3 4]
fmt.Println(s) // [2 3 4]
s = append(s, 6) // bir öğe ekler, kapasite izin veriyorsa dilim genişler
Dilimler, verilerle verimli çalışmayı sağlar, dizileri kopyalamadan ve dizinin boyutunu dinamik olarak değiştirmeye olanak tanır.