English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في لغة Go، يمكنك استخدام جملة return لتحويلدالةيعود بعدة قيم. بمعنى آخر، يمكن للدالة أن تعود عدة قيم باستخدام جملة return واحدة. نوع القيم يعاد يشبه نوع المعلمات المحددة في قائمة المعلمات.
النحو:
func function_name(parameter_list)(return_type_list){ // code... }
في هذا المكان،
function_name:هيدالةالاسم.
parameter-list:هي تحتوي على أسماء و أنواع معلمات الدالة.
return_type_list:هذا هو اختياري، ويشمل نوع القيم العائدة للدالة. إذا تم استخدام return_type في الدالة، فيجب استخدام جملة return في الدالة.
package main import "fmt" // myfunc تعود بـ 3 قيم int func myfunc(p, q int) (int, int, int) { return p - q, p * q, p + q } func main() { //لإسناد القيم إلى، متغيرات مختلفة var myvar1, myvar2, myvar3 = myfunc(4, 2) // عرض القيمة fmt.Printf("النتيجة هي: %d", myvar1) fmt.Printf("\nالنتيجة هي: %d", myvar2) fmt.Printf("\nالنتيجة هي: %d", myvar3) }
النتيجة:
النتيجة هي: 2 النتيجة هي: 8 النتيجة هي: 6
في لغة Go، يُسمح بتقديم أسماء للقيم العائدة. يمكنك أيضًا استخدام هذه الأسماء في الكود. ليس من الضروري كتابة هذه الأسماء باستخدام جملة return، لأن معالج Go سيفهم تلقائيًا أن هذه القيم يجب توزيعها مرة أخرى. هذا النوع من العوائد يُسمى العوائد العارية. يقلل العوائد البسيطة من التكرار في البرنامج.
النحو:
func function_name(para1, para2 int)(name1 int, name2 int){ // code... } أو func function_name(para1, para2 int)(name1, name2 int){ // code... }
في هذا المكان،name1وname2هذه هي أسماء القيم، بينما para1 و para2 هي معلمات الدالة.
package main import "fmt" //myfunc تعود بـ 2 قيم int //هذه هي أسماء القيم //هذا هو rectangle و square func myfunc(p, q int) (rectangle int, square int) { rectangle = p * q square = p * p return } func main() { //لإسناد القيم //متغيران مختلفان var area1, area2 = myfunc(2, 4) fmt.Printf("مساحة المربع: %d", area1) fmt.Printf("\nمساحة المربع: %d", area2) }
النتيجة:
مساحة المربع: 8 مساحة المربع: 4