على الرغم من توفير جميع الوسائط الضرورية، يرسل المترجم رسالة خطأ حول الوسائط الزائدة عند تمرير بنية DataResponse كمعلمة إلى JSON( ).
يحاول مقتطف التعليمات البرمجية المقدم إنشاء مثيل لبنية DataResponse وتمريره كمعلمة إلى وظيفة JSON(). ومع ذلك، يقوم المترجم بإصدار خطأ يشير إلى أنه تم تقديم عدد كبير جدًا من الوسائط.
type DataResponse struct {
Status int `json:"status"`
Data interface{} `json:"data"`
}
func GetUser(rw http.ResponseWriter, req *http.Request, ps httprouter.Params) {
user := models.User{}
resp := DataResponse(200, user)
JSON(rw, resp)
}
يحدث الخطأ بسبب بناء جملة غير صحيح لتهيئة البنية. تشير المسافات حول الأقواس المتعرجة إلى استدعاء دالة بدلاً من تهيئة البنية باستخدام الأقواس المتعرجة. لحل المشكلة، قم بتغيير الكود كما يلي:
resp := DataResponse{200, user}
يضمن استخدام الأقواس المتعرجة أن الكود يقوم بتهيئة بنية DataResponse بشكل صحيح باستخدام التعليمات البرمجية المتوفرة الحجج. لن يشكو المترجم بعد الآن من عدد كبير جدًا من الوسائط.
يضمن هذا التعديل أن المترجم يحدد بدقة الكود كتهيئة للبنية ويسمح باستخدام بنية DataResponse بشكل صحيح كمعلمة لوظيفة JSON().
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3