Avatar ·

Как проверить, содержит ли карта (map) ключ в Go?

```html السلام عليكم! لقد بدأت للتو في تعلم Go، وواجهت مشكلة مع الخرائط (map). لنفترض أنني أنشئ خريطة تخزن المستخدمين حسب معرفاتهم (ID): ```go users := map[int]string{ 1: "Alice", 2: "Bob", } ``` أحتاج إلى التحقق مما إذا كان المستخدم موجودًا بالمعرف، مثلاً 3. جربت القيام بما يلي: ```go if users[3] != "" { fmt.Println("User found") } else { fmt.Println("User not found") } ``` ولكن هذا يبدو غير صحيح، لأنه إذا كانت القيمة فارغة (مثلاً، اسم المستخدم فارغ)، فسيفشل التحقق. بالإضافة إلى ذلك، سمعت أنه في Go عند الوصول إلى مفتاح غير موجود، يتم إرجاع القيمة الصفرية (zero value) لنوع القيمة. بالنسبة للسلاسل النصية، هذه هي السلسلة الفارغة، للأرقام 0، للقيم المنطقية false. ولكن كيف يمكنني إذن التمييز بين عدم وجود المفتاح وبين القيمة الصفرية الفعلية؟ هل هناك طريقة اصطلاحية للتحقق من وجود مفتاح في الخريطة؟ قرأت أنه في لغات أخرى (مثل Python) يوجد عامل `in`، لكنني لم أجد شيئًا كهذا في Go. لم أ ```