Sobes.tech
Junior — Middle

Kas saaksite selgitada lõikude (slice) toimimise põhimõtet programmeerimiskeeles?

sobes.tech AI

Vastus AI-lt

Go'da dilim (slice), eyni növ elementlərdən ibarət ardıcıllığın dinamik və dəyişkən ölçülü görünüşüdür. O, aşağıdakıları ehtiva edir:

  • massivə işarəçi,
  • uzunluq (dilimdəki elementlərin sayı),
  • tutum (yeni yaddaş ayırmadan yerləşdirilə biləcək maksimum element sayı).

Dilimlər massivlərin hissələri ilə işləməyə və ya məlumatları kopyalamadan yeni dinamik ardıcıllıqlar yaratmağa imkan verir.

Nümunə:

arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // indeksləri 1,2,3 olan elementlər: [2 3 4]

fmt.Println(s) // [2 3 4]

s = append(s, 6) // element əlavə edir, əgər tutum imkan verirsə, dilim genişlənir

Dilimlər məlumatlarla səmərəli işləməyə imkan verir, arrayləri kopyalamadan, və seqvensiyanın ölçüsünü dinamik şəkildə dəyişməyə imkan verir.