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