Sobes.tech
Junior — Middle

რა მონაცემები ინახება სლაის სტრუქტურის შიგნით პინტერში?

sobes.tech AI

პასუხი AI-სგან

Go dilisində dilim (slice) quruluşunda üç əsas sahə saxlanılır:

  1. İşarəçi (pointer) — dilimin istinad etdiyi massivdəki ilk elementin ünvanı. Bu, bütün massivlərin başlanğıcı olmaq məcburiyyətində deyil, yalnız dilimin massiv daxilində başlanğıcıdır.

  2. Uzunluq (length) — dilim vasitəsilə əlçatan olan elementlərin sayı.

  3. Həcmi (capacity) — işarəçidən başlayaraq, yeni yaddaş ayırmadan yerləşdirilə biləcək maksimum element sayı.

Sadəlaşdırılmış dilim strukturu nümunəsi:

type SliceHeader struct {
    Data uintptr // ilk elementə işarəçi
    Len  int     // dilimin uzunluğu
    Cap  int     // dilimin həcmi
}

Şu şəkildə, dilim daxilindəki işarəçi, əsas massivdəki dilimin ilk elementinə işarə edir və bu, məlumatların kopyalanmaması ilə alt massivlərlə səmərəli işləməyə imkan verir.