في Golang ، غالبًا ما يشار إلى معلمات الإرجاع المسماة بالمعلمات المسماة. يتيح Golang تسمية معلمات الإرجاع أو نتائج الوظائف في توقيع الوظيفة أو التعريف. أو يمكنك القول أن الأمر يتعلق بتسمية متغيرات الإرجاع بشكل صريح في تعريف الوظيفة. إنه يزيل بشكل أساسي الحاجة إلى ذكر اسم المتغير مع عبارة الإرجاع . من خلال استخدام معلمات الإرجاع المسماة أو المعلمات المسماة، يمكنك ببساطة استخدام كلمة المفتاح return في نهاية الوظيفة لإرجاع النتيجة إلى المتصل. يتم استخدام هذا المفهوم غالبًا عندما يتعين على الوظيفة إرجاع قيم متعددة. لذا، من أجل راحة المستخدمين وزيادة قابلية قراءة الكود، توفر Golang هذه الميزة.

إعلان معلمات الإرجاع المسماة
لإعلان نتيجة مسماة أو معلمة إرجاع، استخدم ببساطة جزء نوع الإرجاع من توقيع الوظيفة. فيما يلي الصيغة العامة لإعلان وظيفة في Golang. الصيغة المستخدمة لإعلان دالة بدون معلمات إرجاع مسماة هي:
func function_name(Parameter-list)(Return_type){
// function body.....
}
هنا، يعد Return_Type اختياريًا ويحتوي على نوع القيمة التي تقوم الدالة بإرجاعها. إذا كنت تستخدم Return_Type في وظيفتك، فأنت بحاجة إلى استخدام عبارة return في وظيفتك.
الصيغة المستخدمة لإعلان دالة باستخدام وسيطة إرجاع مسماة هي:
func function_name(Parameter-list)(result_parameter1 data-_type, result_parameter2 data_type, ….){
// function body…..
return
}
هنا، (result_parameter1 data-_type، result_parameter2 data_type، ….) هي قائمة الوسائط المرتجعة المسماة مع أنواعها. يمكنك إعلان عدد n من معلمات الإرجاع المسماة.
![معلمات الإرجاع المسماة في Golang معلمات الإرجاع المسماة في Golang]()
مثال: مثال: في البرنامج أدناه، يحتوي سطر التعليمات البرمجية func calculator(a, b int) (mul int, div int) على وسيطات إرجاع مسماة. لا تحتوي عبارة الإرجاع في نهاية الدالة على أي معلمات. سيقوم مُجمِّع Go بإرجاع المعلمات تلقائيًا.
// Chương trình Go mình họa
// cách dùng đối số trả về được đặt tên
package main
import "fmt"
// Phương thức chính
func main() {
// tại đây gọi hàm này
// hàm trả về hai giá trị
m, d := calculator(105, 7)
fmt.Println("105 x 7 = ", m)
fmt.Println("105 / 7 = ", d)
}
// hàm có các đối số được đặt tên
func calculator(a, b int) (mul int, div int) {
// tại đây phép gán đơn giản sẽ
// khởi tạo giá trị cho nó
mul = a * b
div = a / b
// tại đây bạn sẽ có từ khóa return
// không có bất kỳ tham số kết quả nào
return
}
نتيجة:
105 x 7 = 735
105 / 7 = 15
ملاحظة هامة:
- إذا تم تسمية أنواع جميع وسيطات الإرجاع بشكل مشترك أو كانت متماثلة، فيمكنك تحديد نوع بيانات مشترك. قارن الكود أدناه مع المثال الذي قرأته أعلاه لفهم أفضل.
// hàm có đối số đã được đặt tên
func calculator(a, b int) (mul, div int) {
- هنا، المتغيران mul و div كلاهما من نوع int . لذا يمكنك أيضًا إعلان الوسائط المسماة بأنواع البيانات العامة كمتغيرات دالة (أي a وb)
- يؤدي استخدام معلمات الإرجاع المسماة إلى تحسين قابلية قراءة الكود حيث يمكن للمرء أن يعرف معلمات الإرجاع فقط عن طريق قراءة توقيع الوظيفة.
- بعد استخدام معلمة الإرجاع المسماة، غالبًا ما يُشار إلى عبارة الإرجاع باسم الإرجاع العاري أو العاري تمامًا .
- بشكل افتراضي، يقوم Golang بتعريف جميع المتغيرات المسماة بقيمة صفر وستكون الوظائف قادرة على استخدامها. في حالة عدم قيام الوظيفة بتعديل القيم، سيتم إرجاع قيمة الصفر تلقائيًا.
- إذا استخدمت عامل الإعلان القصير ( := ) لتهيئة معلمات الإرجاع المسماة، فسيؤدي ذلك إلى حدوث خطأ لأنه تم تهيئته بالفعل بواسطة مُجمِّع Go. لذا، يمكنك استخدام التعيين البسيط ( = ) لتعيين قيم لمعلمات الإرجاع المسماة.
// hàm có đối số được đặt tên
func calculator(a, b int) (mul int, div int) {
// tại đây, nó sẽ báo lỗi
// dưới dạng tham số đã được xác định
// trong chữ ký hàm
mul := a * b
div := a / b
// tại đây bạn có từ khóa return
// không có bất kỳ tham số kết quả nào
return
}
- تعتبر حجج الإرجاع المسماة أو عبارات الإرجاع الدنيا جيدة فقط لتوقيعات الوظيفة القصيرة. بالنسبة للوظائف الأطول، قم بإرجاع معلمات النتيجة صراحةً (لا تستخدم معلمات الإرجاع المسماة) للحفاظ على قابلية قراءة الكود.
- في حالة وجود وسيطات إرجاع مسماة، يلزم وجود بيان إرجاع بسيط أو أدنى.