كيفية تكرار جميع مفاتيح map في Go؟ التكرار عبر القاموس
مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة أثناء العمل مع map. أحتاج إلى المرور عبر جميع مفاتيح القاموس وتنفيذ بعض الإجراءات عليها. أنا معتاد على Python حيث يمكنني ببساطة كتابة `for key in my_dict:`، لكن هذا لا يعمل في Go.
لدي map تخزن أسماء المستخدمين وأعمارهم:
```go
ages := map[string]int{
"Alice": 30,
"Bob": 25,
"Charlie": 35,
}
```
أريد عرض جميع المستخدمين الذين تزيد أعمارهم عن 28 سنة. حاولت القيام بذلك:
```go
for key := range ages {
if ages[key] > 28 {
fmt.Println(key)
}
}
```
لكنني لست متأكداً من أن هذه هي الطريقة الصحيحة. أولاً، قرأت أن ترتيب المفاتيح في map غير مضمون - هذا يربكني قليلاً. ثانياً، ماذا لو كنت بحاجة إلى الحصول ليس فقط على المفتاح ولكن أيضاً على القيمة؟ وهل هناك طريقة لفرز المفاتيح قبل التكرار؟
سأكون ممتناً لشرح مفصل مع أمثلة. يهمني بشكل خاص:
1. الصيغة الصحيحة للتكرا