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