افتقار جولانج الغريب إلى بنية البيانات المحددة
في جولانج، أدت الحاجة الأساسية إلى بنية بيانات محددة إلى السؤال المحير: لماذا لا يتم توفير واحد أصلا؟ مستوحاة من مكتبة Google Guava المؤثرة، لماذا أغفل مصممو Golang دعم مثل هذا الهيكل الأساسي، مما أجبر المطورين على صياغة تطبيقاتهم الخاصة؟
تكمن الإجابة في بساطة إنشاء المجموعات باستخدام الخرائط. كما هو موضح في مقتطف التعليمات البرمجية المقدم، يمكن الاستفادة من الخرائط لإنشاء مجموعات. يمكن تنفيذ العمليات الرئيسية مثل التحقق من وجود وإضافة وإزالة وتنفيذ عمليات المجموعة (الاتحاد والتقاطع) بسهولة.
s := map[int]bool{5: true, 2: true} _, ok := s[6] // check for existence s[8] = true // add element delete(s, 2) // remove element // Union s_union := map[int]bool{} for k, _ := range s1{ s_union[k] = true } for k, _ := range s2{ s_union[k] = true } // Intersection s_intersection := map[int]bool{} if len(s1) > len(s2) { s1, s2 = s2, s1 // better to iterate over a shorter set } for k,_ := range s1 { if s2[k] { s_intersection[k] = true } }
على الرغم من أن هذه التطبيقات القائمة على الخريطة كافية لمعظم السيناريوهات العملية، فقد يجادل البعض بأن تنفيذ المجموعة الأصلية من شأنه تبسيط وتعزيز إمكانية قراءة التعليمات البرمجية. ومع ذلك، بالنسبة لمطوري Golang، فإن فهم استخدام الخرائط كمجموعات أمر بالغ الأهمية لحل المشكلات والاستخدام الفعال للموارد.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3