Go Slice'lar
Slice'lar massivlarga o'xshaydi, lekin ular kuchliroq va moslashuvchanroq.
Massivlar kabi, slice'lar ham bitta o'zgaruvchida bir xil turdagi bir nechta qiymatlarni saqlash uchun ishlatiladi.
Biroq, massivlardan farqli o'laroq, slice'ning uzunligi kerakli darajada o'sishi va kamayishi mumkin.
Go-da slice yaratishning bir necha usuli mavjud:
[]datatype{values}
formatidan foydalanish- Massivdan slice yaratish
make()
funktsiyasidan foydalanish
[]datatype{values}
Formatida Slice Yaratish
Sintaksis
Slice'ni e'lon qilishning keng tarqalgan usuli quyidagicha:
Yuqoridagi kod bo'sh slice e'lon qiladi, uzunligi va sig'imi 0.
Slice'ni deklaratsiya paytida inicializatsiya qilish uchun:
Yuqoridagi kod butun sonlar slice'ini uzunligi va sig'imi 3 bo'lgan holda e'lon qiladi.
Go-da slice'ning uzunligi va sig'imini qaytaradigan ikki funktsiya mavjud:
len()
funktsiyasi - slice uzunligini (slice'dagi elementlar sonini) qaytaradicap()
funktsiyasi - slice sig'imini (slice qancha o'sishi yoki kamayishi mumkinligini) qaytaradi
Misol
Bu misol []datatype{values}
formatidan foydalanib slice yaratishni ko'rsatadi:
Natija:
Yuqoridagi misolda, birinchi slice (myslice1) uchun haqiqiy elementlar ko'rsatilmagan, shuning uchun slice uzunligi va sig'imi nolga teng bo'ladi. Ikkinchi slice (myslice2) uchun elementlar ko'rsatilgan va uzunlik va sig'im ko'rsatilgan elementlar soniga teng.
Massivdan Slice Yaratish
Massivni kesib slice yaratish mumkin:
Sintaksis
Misol Bu misol massivdan slice yaratishni ko'rsatadi:
Natija:
Yuqoridagi misolda, myslice
uzunligi 2 bo'lgan slice. Bu arr1
massividan yaratilgan bo'lib, massiv uzunligi 6. Slice massivning uchinchi elementidan boshlanadi (12 qiymatiga ega). Slice massivning oxirigacha o'sishi mumkin. Shuning uchun slice sig'imi 4 ga teng.
Agar myslice
0-elementdan boshlangan bo'lsa, slice sig'imi 6 bo'lardi.
make()
Funktsiyasi Bilan Slice Yaratish
make()
funktsiyasidan ham slice yaratish uchun foydalanish mumkin.
Sintaksis
Eslatma: Agar sig'im parametrini ko'rsatilmasa, u uzunlikka teng bo'ladi.
Misol
Bu misol make()
funktsiyasidan foydalanib slice yaratishni ko'rsatadi:
Natija: