الدوال المتقلبة في لغة جولانج

تتيح لك الدوال المتنوعة في Go تمرير عدد متغير من الوسائط إلى دالة. تكون هذه الميزة مفيدة عندما لا تعرف مسبقًا عدد الحجج التي ستمررها. تقبل دالة Golang المتغيرة  وسيطات متعددة من نفس النوع ويمكن استدعاؤها بأي عدد من الوسائط، بما في ذلك عدم وجود أي منها .

الدوال المتقلبة في لغة جولانج

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

نتيجة:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

بناء الجملة:

func functionName(parameters ...Type) ReturnType {
    // Code
}

في بناء الجملة أعلاه:

  • parameters ...Typeيشير إلى أن الوظيفة يمكنها قبول عدد متغير من الوسائط من نوع Type.
  • يمكنك الوصول إلى الوسائط في الدالة كشريحة.

كيفية استخدام الدوال غير المؤكدة في Golang

استخدام الدوال المتغيرة

عند تعريف دالة متغيرة، يمكنك تحديد نوع الوسيطة متبوعًا بعلامة حذف (...) كما في المثال أعلاه. داخل الدالة، يمكن اعتبار هذه الحجج بمثابة شريحة.

استدعاء دالة متغيرة

يمكنك استدعاء دالة متغيرة بأي عدد من الوسائط، بما في ذلك الصفر. تعامل هذه الوظيفة الوسائط على أنها شريحة.

على سبيل المثال:

package main
import "fmt"

func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

نتيجة:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

دالة متغيرة ذات معلمات مختلفة

يمكنك أيضًا دمج المعلمات المتغيرة مع المعلمات العادية في الدالة. يجب أن تكون المعلمات المتغيرة دائمًا هي المعلمة الأخيرة.

على سبيل المثال:

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

// Hàm với tham số thông thường và variadic 
func greet(prefix string, nums ...int) {
    fmt.Println(prefix)
    for _, n := range nums {
        fmt.Println("Number:", n)
    }
}
func main() {
    greet("Sum of numbers:", 1, 2, 3)
    greet("Another sum:", 4, 5)
    greet("No numbers sum:")
}

نتيجة:

Sum of numbers:
Number: 1
Number: 2
Number: 3
Another sum:
Number: 4
Number: 5
No numbers sum:

حدود الدوال المتغيرة

  • لا يمكن للوظائف المتغيرة أن تحتوي إلا على معلمة متغيرة واحدة ويجب أن تكون المعلمة الأخيرة.
  • لا يمكنك الحصول على معلمات متغيرة متعددة في تعريف وظيفة واحدة.

Leave a Comment

معلمات الإرجاع المسماة في Golang

معلمات الإرجاع المسماة في Golang

في Golang، غالبًا ما يشار إلى معلمات الإرجاع المسماة بالمعلمات المسماة. يتيح Golang تسمية معلمات الإرجاع أو نتائج الوظائف في توقيع الوظيفة أو التعريف.

الكلمات الرئيسية في Go

الكلمات الرئيسية في Go

الكلمات الرئيسية - الكلمات الرئيسية هي كلمات في اللغة يتم استخدامها لبعض العمليات الداخلية أو تمثل بعض الإجراءات المحددة مسبقًا. فيما يلي الأشياء التي تحتاج إلى معرفتها حول الكلمات الرئيسية في Golang.

حجج الوظيفة في Golang

حجج الوظيفة في Golang

يدعم Go طريقتين رئيسيتين لتمرير الوسائط: التمرير حسب القيمة والتمرير حسب المرجع. يستخدم Go التمرير بالقيمة بشكل افتراضي.

دالة إرجاع قيم متعددة في Golang

دالة إرجاع قيم متعددة في Golang

في لغة Go، يُسمح لك بإرجاع قيم متعددة من دالة، باستخدام عبارة return. بعبارة أخرى، في الدالة، يمكن لبيان الإرجاع إرجاع قيم متعددة.

عبارة التبديل في Go

عبارة التبديل في Go

Golang مثل معظم لغات البرمجة الأخرى لديها عبارة switch. فيما يلي كيفية استخدام عبارة switch في Golang.

حالات يجب معرفتها عند استخدام عبارات التحديد في Golang

حالات يجب معرفتها عند استخدام عبارات التحديد في Golang

في هذه المقالة سوف نتعلم كيفية استخدام الحالة الافتراضية لتجنب الجمود. ولكن أولاً، دعونا نكتشف ما هي حالة الجمود عند استخدام أمر تحديد Golang؟

الهياكل والحقول المجهولة في لغة جولانج

الهياكل والحقول المجهولة في لغة جولانج

الهياكل المجهولة في Golang هي هياكل مؤقتة بدون أسماء تُستخدم لأغراض لمرة واحدة، بينما تسمح الحقول المجهولة بتضمين حقول غير مسماة.

كيفية استخدام المشغلات في Golang

كيفية استخدام المشغلات في Golang

تسمح لنا المشغلات بإجراء أنواع مختلفة من العمليات على المتعاملات. في لغة Go، يمكن تصنيف المشغلين بناءً على وظائفهم المختلفة.

معرف فارغ في Golang

معرف فارغ في Golang

_(underscore) في Golang يسمى معرف فارغ. المعرف هو اسم محدد من قبل المستخدم لمكونات البرنامج المستخدمة لأغراض التعريف.

طرق بنفس الاسم في Golang

طرق بنفس الاسم في Golang

يسمح Golang بإنشاء طريقتين أو أكثر بنفس الاسم في نفس الحزمة، ولكن يجب أن يكون مستقبلو هذه الطرق من أنواع مختلفة.

الوظائف في Go

الوظائف في Go

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

نطاق المتغير في Go

نطاق المتغير في Go

يحدد نطاق المتغير في Golang جزء البرنامج الذي يمكن الوصول إليه من خلال هذا المتغير. في Go، تحتوي جميع المعرفات على نطاق معجمي يتم تحديده في وقت التجميع.

عبارات التحكم في Golang (if، if-else، Nested-if)

عبارات التحكم في Golang (if، if-else، Nested-if)

ما هي العبارات الشرطية الموجودة في Golang؟ كيفية استخدام العبارات الشرطية في برمجة Go؟ دعونا نكتشف ذلك معًا!

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

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

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

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. استعد عرض التقويم وقم بالمزامنة بسهولة تامة - نصائح الخبراء متوفرة هنا!

كيفية إصلاح خطأ Microsoft Teams الحرج (إصلاح سجل النظام 2026)

كيفية إصلاح خطأ Microsoft Teams الحرج (إصلاح سجل النظام 2026)

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

كيفية استخدام ميزة المساعدة في مايكروسوفت تيمز لزيادة الإنتاجية المدعومة بالذكاء الاصطناعي

كيفية استخدام ميزة المساعدة في مايكروسوفت تيمز لزيادة الإنتاجية المدعومة بالذكاء الاصطناعي

اكتشف كيفية استخدام ميزة "المساعدة في مايكروسوفت تيمز" لتعزيز الإنتاجية المدعومة بالذكاء الاصطناعي. دليل خطوة بخطوة، وميزات رئيسية، ونصائح لتحويل الاجتماعات والمحادثات والمهام بسلاسة. أطلق العنان لتعاون أكثر ذكاءً اليوم!

كيفية إزالة وتغيير حساب مايكروسوفت تيمز على نظام التشغيل ويندوز 11

كيفية إزالة وتغيير حساب مايكروسوفت تيمز على نظام التشغيل ويندوز 11

هل تواجه مشكلة في استخدام حساب مايكروسوفت تيمز غير الصحيح على نظام ويندوز 11؟ إليك تعليمات بسيطة خطوة بخطوة لإزالة حساب مايكروسوفت تيمز الخاص بك وتغييره بكل سهولة. مثالي لإدارة ملفات تعريف العمل والملفات الشخصية!

لماذا فشل تسجيل مكالماتي عبر مايكروسوفت تيمز؟ الأسباب الشائعة

لماذا فشل تسجيل مكالماتي عبر مايكروسوفت تيمز؟ الأسباب الشائعة

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

كيفية جعل واجهة مستخدم مايكروسوفت تيمز أكبر وأكثر وضوحًا

كيفية جعل واجهة مستخدم مايكروسوفت تيمز أكبر وأكثر وضوحًا

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