Sobes.tech
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:

  1. var yordamida 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
  1. make yordamida 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
  1. Indekslar orqali tayinlash — faqat kesma allaqachon boshlang'ich holatda bo'lsa va etarli uzunlikka ega bo'lsa mumkin.

  2. append yordamida 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.