Go Maps
Maps
Maps ma'lumotlarni kalit:qiymat juftliklarida saqlash uchun ishlatiladi.
Har bir Map elementi kalit:qiymat juftligi bo'ladi.
Map tartibsiz va o'zgartiriladigan to'plam bo'lib, takrorlanishga ruxsat bermaydi.
Mapning uzunligi uning elementlari sonini bildiradi. Buni len()
funksiyasi yordamida aniqlashingiz mumkin.
Mapning default qiymati nil
dir.
Maps asosiy hash jadvaliga havolalarni saqlaydi.
Go'da Mapsni yaratishning bir necha usullari mavjud.
Mapsni var
va :=
yordamida yaratish
Sintaksis
Misol
Bu misolda Go'da Mapsni qanday yaratishni ko'rsatadi. Koddagi va chiqishdagi tartibni kuzatib boring:
Natija:
Eslatma: Map elementlarining kodda aniqlangan tartibi saqlangan tartibdan farq qiladi. Ma'lumotlar Mapdan samarali ma'lumot olish uchun saqlanadi.
make()
Funktsiyasi yordamida Mapsni Yaratish
Sintaksis
Misol
Bu misolda make()
funksiyasi yordamida Go'da Mapsni qanday yaratishni ko'rsatadi.
Natija:
Bo'sh Map Yaratish
Bo'sh Mapni yaratishning ikkita usuli mavjud. Biri make()
funksiyasidan foydalanish, ikkinchisi esa quyidagi sintaksisni ishlatish.
Sintaksis
Eslatma: Bo'sh Mapni yaratishning to'g'ri usuli make()
funksiyasidan foydalanishdir. Agar bo'sh Mapni boshqa usulda yaratsangiz va unga yozsangiz, bu ishlash vaqtida xato yuzaga kelishiga olib keladi.
Misol
Bu misolda make()
funksiyasi yordamida va undan foydalanmasdan bo'sh Mapni qanday e'lon qilish farqini ko'rsatadi.
Natija:
Ruxsat Etilgan Kalit Turlari
Map kaliti quyidagi ma'lumot turlaridan biri bo'lishi mumkin, ular uchun tenglik operatori (==) aniqlangan. Bular quyidagilarni o'z ichiga oladi:
- Booleans
- Raqamlar
- Strings
- Massivlar
- Ko'rsatkichlar
- Strukturalar
- Interfaces (agar dinamik tur tenglikni qo'llab-quvvatlasa)
Noto'g'ri kalit turlari:
- Slayslar
- Maps
- Funktsiyalar
Bu turlar noto'g'ri, chunki tenglik operatori (==) ular uchun aniqlanmagan.
Ruxsat Etilgan Qiymat Turlari
Map qiymatlari har qanday turda bo'lishi mumkin.
Map Elementlariga Kirish
Map elementlariga quyidagicha kirish mumkin:
Sintaksis
Misol
Natija:
Map Elementlarini Yangilash va Qo'shish
Elementlarni yangilash yoki qo'shish quyidagicha amalga oshiriladi:
Sintaksis
Misol
Bu misolda Map elementlarini qanday yangilash va qo'shishni ko'rsatadi.
Natija:
Map Elementlarini O'chirish
Elementlarni o'chirish delete()
funksiyasi yordamida amalga oshiriladi.
Sintaksis
Misol
Natija:
Mapda Muayyan Elementlar Borligini Tekshirish
Mapda ma'lum bir kalit mavjudligini quyidagicha tekshirishingiz mumkin:
Sintaksis
Agar faqat ma'lum bir kalit mavjudligini tekshirmoqchi bo'lsangiz, qiymat o'rniga bo'sh identifikator (_) ishlatishingiz mumkin.
Misol
Natija:
Misolning Izohi
Bu misolda, Mapdagi turli kalitlarning mavjudligini tekshirdik.
"color" kaliti Mapda mavjud emas. Shuning uchun qiymat bo'sh satr ('').
ok2
o'zgaruvchisi kalit mavjud yoki mavjud emasligini aniqlash uchun ishlatiladi. "color" kalitining qiymati bo'sh bo'lganida ham, biz shu qiymatni olgan bo'lardik
. Bu val3
uchun ham shunday.
Maps Referensiyalar
Maps hash jadvallariga referensiyalardir.
Agar ikkita Map o'zgaruvchisi bir xil hash jadvaliga havola qilsa, bir o'zgaruvchining mazmunini o'zgartirish boshqa o'zgaruvchining mazmuniga ta'sir qiladi.
Misol
Natija:
Maps Bo'ylab Iteratsiya
Map elementlarini iteratsiya qilish uchun range
operatoridan foydalanishingiz mumkin.
Misol
Bu misolda Map elementlarini qanday iteratsiya qilishni ko'rsatadi. Chiqishdagi elementlarning tartibiga e'tibor bering.
Natija:
Maps Bo'ylab Maxsus Tartibda Iteratsiya
Maps tartibsiz ma'lumot tuzilmalaridir. Agar siz Mapni maxsus tartibda iteratsiya qilishni xohlasangiz, maxsus tartibni belgilovchi qo'shimcha ma'lumot tuzilmasi kerak bo'ladi.
Misol
Natija: