كلمة رئيسية مؤجلة في لغة جولانج

في Go، تعمل عبارات defer على تأخير تنفيذ وظيفة أو طريقة أو طريقة مجهولة حتى تعود الوظائف القريبة. بعبارة أخرى، يتم تقييم الوسائط لتأجيل الوظائف أو الأساليب على الفور، ولكنها لا يتم تنفيذها حتى تعود الوظائف القريبة. بإمكانك إنشاء طريقة مؤجلة أو دالة أو دالة مجهولة باستخدام كلمة defer الأساسية.

كلمة رئيسية مؤجلة في لغة جولانج

بناء الجملة:

// Hàm
defer func func_name(parameter_list Type)return_type{
// Code
}

// Phương thức
defer func (receiver Type) method_name(parameter_list){
// Code
}

defer func (parameter_list)(return_type){
// code
}()

ملاحظة هامة:

  • في لغة Go، يُسمح باستخدام عبارات defer متعددة في نفس البرنامج ويتم تنفيذها حسب ترتيب LIFO (Last-In, First-Out) كما هو موضح في المثال 2.
  • في عبارات التأجيل، يتم تقييم الوسائط عند تنفيذ عبارة التأجيل، وليس عند استدعائها.
  • غالبًا ما يتم استخدام عبارات التأجيل للتأكد من إغلاق الملفات عند انتهاء الحاجة إليها، أو لإغلاق القنوات، أو للقبض على المشكلات في البرنامج.

الآن دعونا نلقي نظرة على مثال لفهم أفضل.

مثال 1:

// Chương trình Go minh họa
// khái niệm của lệnh defer
package main

import "fmt"

// Các hàm
func mul(a1, a2 int) int {

	res := a1 * a2
	fmt.Println("Result: ", res)
	return 0
}

func show() {
	fmt.Println("Hello!, Quantrimang.com")
}

// Hàm chính
func main() {

	// Gọi hàm mul() 
	// Tại đây hàm mul hoạt động
	// như một hàm bình thường
	mul(23, 45)

	// Gọi hàm mul()
	// Dùng từ khóa defer 
	// Hàm the mul() 
	// là hàm defer
	defer mul(23, 56)

	// Gọi hàm show() 
	show()
}

نتيجة:

Result:  1035
Hello!, Quantrimang.com
Result:  1288

التوضيح: في المثال أعلاه، لدينا دالتين باسم mul() و show() . في حين يتم استدعاء الدالة show() بشكل طبيعي في الدالة main() ، يتم استدعاء الدالة mul() بطريقتين مختلفتين:

  • أولاً، نقوم باستدعاء الدالة mul بشكل طبيعي (بدون كلمة defer)، أي mul(23, 45) ويتم تنفيذها عند استدعاء الدالة (الإخراج: النتيجة: 1035).
  • ثانيًا، نستدعي الدالة mul() كدالة defer باستخدام الكلمة الأساسية defer، أي defer mul(23, 56) وتنفذ (الإخراج: النتيجة: 1288) عندما تعود جميع الطرق المحيطة.

مثال 2:

// Minh họa chương trình Go
// dùng nhiều lệnh defer, để minh họa chính sách LIFO 
package main

import "fmt"

// Các hàm
func add(a1, a2 int) int {
	res := a1 + a2
	fmt.Println("Result: ", res)
	return 0
}

// Hàm chính
func main() {

	fmt.Println("Start")

	// Nhiều lệnh defer
	// Triển khai theo thứ tự LIFO 
	defer fmt.Println("End")
	defer add(34, 56)
	defer add(10, 10)
}

نتيجة:

Start
Result:  20
Result:  90
End

اترك تعليقاً

How to Fix Microsoft Teams Password Error Forgot

How to Fix Microsoft Teams Password Error Forgot

Struggling with Microsoft Teams Password Error because you forgot your password? Follow our step-by-step guide on how to fix Microsoft Teams password error forgot issues quickly and securely. No tech skills needed!

لماذا يُعدّ مايكروسوفت تيمز بطيئًا جدًا؟ ١٠ نصائح لتسريعه في عام ٢٠٢٦

لماذا يُعدّ مايكروسوفت تيمز بطيئًا جدًا؟ ١٠ نصائح لتسريعه في عام ٢٠٢٦

هل تشعر بالإحباط من بطء برنامج مايكروسوفت تيمز؟ اكتشف سبب بطء مايكروسوفت تيمز وطبّق هذه النصائح العشر المجربة لتسريعه بشكل كبير في عام 2026 من أجل تعاون سلس للغاية.

كيفية إصلاح خطأ عدم تحميل علامة تبويب ويكي في مايكروسوفت تيمز

كيفية إصلاح خطأ عدم تحميل علامة تبويب ويكي في مايكروسوفت تيمز

هل تواجه مشكلة في تحميل علامة تبويب ويكي في مايكروسوفت تيمز؟ اكتشف حلولاً مجربة خطوة بخطوة لحل المشكلة بسرعة، واستعادة علامات تبويب ويكي، وتعزيز إنتاجية فريقك دون عناء.

كيفية إصلاح أخطاء مزامنة إدارة المهام في مايكروسوفت تيمز

كيفية إصلاح أخطاء مزامنة إدارة المهام في مايكروسوفت تيمز

هل سئمت من أخطاء مزامنة إدارة المهام في مايكروسوفت تيمز التي تعيق سير عملك؟ اتبع حلولنا الخبيرة خطوة بخطوة لاستعادة مزامنة المهام بسلاسة بين تيمز، وبلانييه، وقائمة المهام. حلول سريعة لراحة فورية!

كيفية مسح ذاكرة التخزين المؤقت لبرنامج مايكروسوفت تيمز لإصلاح مشاكل الأداء

كيفية مسح ذاكرة التخزين المؤقت لبرنامج مايكروسوفت تيمز لإصلاح مشاكل الأداء

هل تواجه مشكلة في بطء تطبيق مايكروسوفت تيمز؟ تعرّف على كيفية مسح ذاكرة التخزين المؤقت لتطبيق مايكروسوفت تيمز خطوة بخطوة لحل مشاكل الأداء، والبطء، والتعطل، وتحسين السرعة على أنظمة ويندوز، وماك، والويب، والهواتف المحمولة. حلول سريعة وفعّالة!

كيفية إصلاح أخطاء تشغيل الوسائط في مايكروسوفت تيمز عام 2026

كيفية إصلاح أخطاء تشغيل الوسائط في مايكروسوفت تيمز عام 2026

هل سئمت من مشاكل تشغيل الوسائط في مايكروسوفت تيمز التي تُفسد اجتماعاتك لعام 2026؟ اتبع دليلنا المُفصّل خطوة بخطوة لإصلاح مشاكل الصوت والفيديو والمشاركة بسرعة - دون الحاجة لأي مهارات تقنية. تعاون سلس بانتظارك!

كيفية إصلاح خطأ مايكروسوفت تيمز رقم 1200 على الهاتف (iOS/Android)

كيفية إصلاح خطأ مايكروسوفت تيمز رقم 1200 على الهاتف (iOS/Android)

هل سئمت من خطأ مايكروسوفت تيمز رقم 1200 الذي يتسبب في انقطاع مكالماتك الهاتفية؟ اكتشف حلولاً سريعة وبسيطة لأنظمة iOS وAndroid للعودة إلى العمل الجماعي بسلاسة وسرعة - دون الحاجة إلى أي مهارات تقنية!

حل مشكلة إعدادات بروكسي مايكروسوفت تيمز

حل مشكلة إعدادات بروكسي مايكروسوفت تيمز

هل تواجه مشكلة في إعدادات بروكسي مايكروسوفت تيمز؟ اكتشف خطوات فعّالة لحل هذه المشكلة. امسح ذاكرة التخزين المؤقت، وعدّل إعدادات البروكسي، واستمتع بمكالمات سلسة في دقائق معدودة مع دليلنا المتخصص.

كيفية تسجيل الدخول إلى مركز إدارة مايكروسوفت تيمز بشكل صحيح

كيفية تسجيل الدخول إلى مركز إدارة مايكروسوفت تيمز بشكل صحيح

تعلّم كيفية تسجيل الدخول إلى مركز إدارة مايكروسوفت تيمز بشكل صحيح من خلال دليلنا المفصل خطوة بخطوة. عالج الأخطاء الشائعة، واضمن الأمان، وقم بإدارة تيمز بسهولة تامة للمسؤولين في كل مكان.

أين تقويم فريقي؟ حل مشكلات المزامنة

أين تقويم فريقي؟ حل مشكلات المزامنة

هل تواجه مشكلة في مزامنة تقويم Teams الخاص بك؟ إليك دليلًا خطوة بخطوة لحل مشاكل المزامنة في Microsoft Teams. استعد عرض التقويم وقم بالمزامنة بسهولة تامة - نصائح الخبراء متوفرة هنا!