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

الدوال (Functions) مركزية في لغة Go. سنتعلم عن الدوال من خلال بعض الأمثلة المختلفة.

package main

import "fmt"

هذه دالة تأخذ عددين صحيحين (int) وتعيد مجموعهما كعدد صحيح.

func plus(a int, b int) int {

تتطلب Go إرجاعاً صريحاً للقيم (explicit returns)، أي أنها لن تقوم تلقائياً بإرجاع قيمة آخر تعبير.

    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. إحداها هي إرجاع قيم متعددة، وهو ما سننظر فيه في الدرس القادم.

تشغيل البرنامج:

$ go run functions.go 
1+2 = 3
1+2+3 = 6

المثال التالي: إرجاع قيم متعددة (Multiple Return Values).