English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس أساسية بلغة Go

تعليمات التحكم بلغة Go

دوال وطرق بلغة Go

بنيات بلغة Go

قطع و 배열ات بلغة Go

كلمات بلغة Go (String)

مراجع بلغة Go

واجهات بلغة Go

المحاولات المتوازية بلغة Go

استثناءات بلغة Go (Error)

متنوعة أخرى بلغة Go

مراجع لغة البرمجة Go كمعاملات دالة

لغة البرمجة Goالمرجع هو متغير يستخدم لتخزين عنوان ذاكرة متغير آخر. يمكنك أيضًا إرسال المرجع مثلمتغيرتمثل المرجع المتغير، وهو متغير يستخدم لتخزين عنوان ذاكرة متغير آخر. يمكنك أيضًا إرسال المرجع مثل

  • إنشاء مرجع وإرساله إلى الدالة

  • إرسال عنوان الذاكرة للمتغير

لإنشاء مرجع، ثم نقوم بإرساله إلى الدالة

في البرنامج التالي، نستخدم الدالةptf، وتكون الدالة لها معامل نوع مرجع، مما يعني أن الدالة تقبل فقط معاملات نوع مرجع. كما تغير الدالة المتغيرxفي البداية،xيحتوي على القيمة 100. ولكن بعد استدعاء الدالة، يتم تغيير القيمة إلى 748، كما هو موضح في الإخراج.

// يخلق برنامج Go مرجعًا
// وإرساله إلى الدالة
package main
import "fmt"
// قبول المرجع كمعامل
func ptf(a *int) {
    // التشغيل
    *a = 748
}
func main() {
    // متغير عادي
    var x = 100
    fmt.Printf("قيمة x قبل استدعاء الدالة هي: %d\n", x)
    // الحصول على متغير مرجع
    // وتخصيص العنوان
    var pa *int = &x
    // باستخدام الطريقة التالية استدعاء الدالة
    // إرسال المرجع إلى الدالة
    ptf(pa)
    fmt.Printf("قيمة x بعد استدعاء الدالة هي: %d\n", x)
}

الإخراج:

قيمة x قبل استدعاء الدالة هي: 100
قيمة x بعد استدعاء الدالة هي: 748

إرسال عنوان المتغير إلى استدعاء الدالة

تأمل في البرنامج التالي، لم نقم بإنشاء مرجع لتخزين المتغيرxالعنوان، وهو العنوان المذكور في البرنامج أعلاهpaنحن نقوم بتحويلxالعنوان يُرسل إلى الدالة الاستدعاء، والتي تشبه الطريقة المذكورة أعلاه.

package main
import "fmt"
// مرجع نوع int كمعامل
func ptf(a *int) {
    *a = 748
}
func main() {
    var x = 100
    fmt.Printf("قيمة x قبل استدعاء الدالة هي: %d\n", x)
    // من خلال استدعاء الدالة
    // إرسال العنوان
    // متغير x
    ptf(&x)
    fmt.Printf("قيمة x بعد استدعاء الدالة هي: %d\n", x)
}

الإخراج:

قيمة x قبل استدعاء الدالة هي: 100
قيمة x بعد استدعاء الدالة هي: 748

الاشارة:يمكنك أيضًا استخدام عمود التفاضل (:=) في البرنامج المذكور أعلاه لإعلان المتغيرات والمراجع.