Junior — Middle
Go'da kesim yaratish usullarini var, make va indeks bo'yicha tayinlash yoki append orqali qanday ajratish mumkin?
sobes.tech AI
AIdan javob
Go tilida, kesmalar (slices) turli usullarda yaratilishi mumkin, ular boshlang'ich holati va xotira ajratish bo'yicha farq qiladi:
varyordamida e'lon qilish — nil-kesma yaratadi, u hech qanday massivga ishora qilmaydi va uzunligi ham, sig'imi ham 0 bo'ladi.
var s []int // nil-kesma
makeyordamida kesma yaratish — belgilangan uzunlik va sig'imga ega massiv ajratadi va unga ishora qiluvchi kesma qaytaradi.
s := make([]int, 5) // uzunligi 5 bo'lgan, nol bilan to'ldirilgan kesma
-
Indekslar orqali tayinlash — faqat kesma allaqachon boshlang'ich holatda bo'lsa va etarli uzunlikka ega bo'lsa mumkin.
-
appendyordamida elementlar qo'shish — elementlarni kesmaga qo'shadi, va agar kerak bo'lsa, sig'imni oshiradi va yangi massiv ajratadi.
s = append(s, 10) // 10 elementini kesmaga qo'shadi
Shu tarzda, var bo'sh nil-kesma yaratadi, make — xotira ajratilgan kesma, indekslar bo'yicha tayinlash mavjud uzunlikni talab qiladi, va append kesmani dinamik ravishda kengaytiradi.