Junior — Middle
Qisqa tuzilma ichidagi ko'rsatkichda qanday ma'lumotlar saqlanadi?
sobes.tech AI
AIdan javob
Go tilida bo'lak (slice) tuzilmasida uchta asosiy maydon saqlanadi:
-
Ko'rsatkich (pointer) — bo'lakning murojaat qiladigan massivining birinchi elementining manzili. Bu butun massivning boshlanishi bo'lishi shart emas, balki bo'lakning massiv ichidagi boshlanishi.
-
Uzunlik (length) — bo'lak orqali kirish mumkin bo'lgan elementlar soni.
-
Sig'imi (capacity) — ko'rsatkichdan boshlab, yangi xotira ajratmasdan, joylashishi mumkin bo'lgan maksimal elementlar soni.
Soddalashtirilgan bo'lak tuzilmasi misoli:
type SliceHeader struct {
Data uintptr // birinchi elementga ko'rsatkich
Len int // bo'lak uzunligi
Cap int // bo'lak sig'imi
}
Shu tarzda, bo'lak ichidagi ko'rsatkich bo'lakning asosiy massivdagi birinchi elementiga ishora qiladi, bu esa ma'lumotlarni ko'chirmasdan bo'laklar bilan samarali ishlash imkonini beradi.