لغة Go بالأمثلة: الدوال (func)

للدوال دور أساسي في Go. سنتعرف على الدوال من خلال بضعة أمثلة مختلفة.

package main
import "fmt"

تستقبل هذه الدالة قيمتين من النوع int وتعيد مجموعهما كقيمة من النوع int.

func plus(a int, b int) int {

تتطلب Go إرجاع القيم صراحةً، أي إنها لا تعيد تلقائيًا قيمة التعبير الأخير.

    return a + b
}

عندما توجد عدة معاملات متتالية من النوع نفسه، يمكنك حذف اسم النوع من المعاملات المتشابهة حتى المعامل الأخير الذي يصرّح عن النوع.

func plusPlus(a, b, c int) int {
    return a + b + c
}
func main() {

استدعِ دالة بالطريقة المعتادة باستخدام name(args).

    res := plus(1, 2)
    fmt.Println("1+2 =", res)
    res = plusPlus(1, 2, 3)
    fmt.Println("1+2+3 =", res)
}
$ go run functions.go 
1+2 = 3
1+2+3 = 6

لدوال Go عدة ميزات أخرى، منها إرجاع قيم متعددة، وهو ما سنستعرضه تاليًا.

المثال التالي: .