Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التكرار عبر الخرائط

جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 92 من 109.

تتيح لك الكلمة المفتاحية range تكرار المرور على جميع أزواج المفتاح والقيمة (key-value pairs) في الخريطة (map). وهي تعيد كلاً من المفتاح والقيمة لكل إدخال.

أنشئ خريطة لمخزون الفاكهة:

inventory := map[string]int{
    "apples": 5,
    "bananas": 8,
    "oranges": 12,
}

for fruit, quantity := range inventory {
    fmt.Printf("%s: %d\n", fruit, quantity)
}

تظهر النتيجة كل زوج (مفتاح-قيمة):

apples: 5
bananas: 8
oranges: 12

إذا كنت بحاجة إلى المفاتيح فقط، يمكنك حذف المتغير الثاني:

for fruit := range inventory {
    fmt.Println(fruit)
}
challenge icon

التحدي

مبتدئ

في هذا التحدي، ستتدرب على التكرار عبر خريطة (map) باستخدام الكلمة المفتاحية range في Go. تم إنشاء خريطة لدرجات الطلاب من أجلك. مهمتك هي التكرار عبر الخريطة وطباعة اسم كل طالب ودرجته.

أكمل الكود للتكرار عبر خريطة studentGrades وطباعة اسم كل طالب ودرجته بالتنسيق التالي: Student: [name], Grade: [grade]

ورقة مرجعية

استخدم range للتكرار عبر أزواج المفتاح والقيمة في map:

inventory := map[string]int{
    "apples": 5,
    "bananas": 8,
    "oranges": 12,
}

for fruit, quantity := range inventory {
    fmt.Printf("%s: %d\n", fruit, quantity)
}

للتكرار عبر المفاتيح فقط، تجاهل المتغير الثاني:

for fruit := range inventory {
    fmt.Println(fruit)
}

جرّب بنفسك

package main

import (
	"fmt"
	"sort"
)

func main() {
	// خريطة لدرجات الطلاب
	studentGrades := map[string]string{
		"Alice":  "A",
		"Bob":    "B",
		"Charlie": "B+",
		"David":  "A-",
		"Eva":    "C",
	}

	// جمع أسماء الطلاب (المفاتيح) في شريحة لفرزها
	var names []string
	for name := range studentGrades {
		names = append(names, name)
	}
	sort.Strings(names)


	// TODO: التكرار عبر القائمة المرتبة لأسماء الطلاب
	// وطباعة اسم كل طالب ودرجته بالتنسيق التالي:
	// "Student: [name], Grade: [grade]"
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals