أقترح أن تعرض متغير إرجاع منطقي في خريطة المزامنة ، وتغييره من:
func (m * Map) حذف (واجهة رئيسية {})
إلى:
func (m * Map) حذف (واجهة رئيسية {}) منطقي
تخبر القيمة المرتجعة المتصل ما إذا كان العنصر قد تمت إزالته من الخريطة أم لا (صحيح إذا كان المفتاح موجودًا في الخريطة ، أو خطأ إذا لم تغير المكالمة أي شيء). يبدو أن Map.Delete يستدعي Map.delete داخليًا ، والذي يحتوي بالفعل على بيانات الإرجاع المطلوبة في بعض الحالات.
هذا التغيير لن يكسر الكود الموجود.
هذا التغيير لن يكسر الكود الموجود.
نعم ، سوف:
var deleteFn func(interface{}) = m.Delete
نعم ، لا يمكننا تغيير أي توقيعات API. انظر أيضا: https://blog.merovius.de/2015/07/29/backwards-compatibility-in-go.html
لا يمكننا تغيير هذا التوقيع.
التعليق الأكثر فائدة
نعم ، سوف: