تدعم لغة Go بشكل مدمج إرجاع قيم متعددة (multiple return values). تُستخدم هذه الميزة غالباً في كود Go النموذجي، على سبيل المثال لإرجاع كل من النتيجة وقيمة الخطأ من الدالة.
package main
import "fmt"
الـ (int, int) في توقيع هذه الدالة يوضح أنها تعيد عددين صحيحين.
func vals() (int, int) {
return 3, 7
}
func main() {
هنا نستخدم قيمتي الإرجاع المختلفتين من الاستدعاء باستخدام ‘التعيين المتعدد’ (multiple assignment).
a, b := vals()
fmt.Println(a)
fmt.Println(b)
إذا كنت تريد فقط جزءاً من القيم المرتجعة، استخدم المعرف الفارغ _.
_, c := vals()
fmt.Println(c)
}
إن قبول عدد متغير من المعاملات ميزة أخرى لطيفة في دوال Go؛ سننظر في ذلك لاحقاً.
تشغيل البرنامج:
$ go run multiple-return-values.go
3
7
7 المثال التالي: الدوال متغيرة المعاملات (Variadic Functions).