Sobes.tech
Junior — Middle

Bo'sh bo'lsa, unga 10 ta element qo'shilganda slice uzunligi va sig'imi nima bo'ladi?

sobes.tech AI

AIdan javob

Go'da bo'sh slice (uzunligi va sig'imi 0) bo'lsa va unga append funksiyasi bilan 10 ta element qo'shsangiz:

  • Slice uzunligi 10 bo'ladi — qo'shilgan elementlar soni.
  • Slice sig'imi avtomatik ravishda oshadi, odatda bo'sh joy bilan, tez-tez xotira ajratishni oldini olish uchun. Aniq sig'im implementatsiyaga bog'liq, lekin ko'pincha 16 yoki undan ko'p bo'ladi, yangi elementlarni joylashtirish va kelajakdagi qo'shimchalar uchun bo'sh joy bilan.

Misol:

var s []int // bo'sh slice
s = append(s, make([]int, 10)...) // 10 ta element qo'shish
fmt.Println(len(s)) // 10
fmt.Println(cap(s)) // >=10, odatda 16 yoki 20

Shunday qilib, sig'im dinamik ravishda oshadi, slice o'sishi bilan xotira samarali boshqariladi.