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

سجل واكسب 1000 دولار في اليوم ⋙

تتيح لك الدوال المتنوعة في 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:

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

  • لا يمكن للوظائف المتغيرة أن تحتوي إلا على معلمة متغيرة واحدة ويجب أن تكون المعلمة الأخيرة.
  • لا يمكنك الحصول على معلمات متغيرة متعددة في تعريف وظيفة واحدة.
Sign up and earn $1000 a day ⋙

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 على تأخير تنفيذ وظيفة أو طريقة أو طريقة مجهولة حتى تعود الوظائف القريبة.

من أين جاءت رموز الذكر والأنثى؟

من أين جاءت رموز الذكر والأنثى؟

قد لا يكون معنى الرموز الذكورية والأنثوية الشائعة اليوم معروفًا للجميع. دعونا نتعلم المزيد عن الرموز الذكورية والأنثوية!

تمكن العلماء من فك شفرة التاريخ الغامض للثقوب السوداء

تمكن العلماء من فك شفرة التاريخ الغامض للثقوب السوداء

أحد المفاهيم الخاطئة الشائعة حول الثقوب السوداء هو أنها لا تبتلع المادة فحسب، بل تبتلع أيضًا تاريخ تلك المادة. لقد تم أخيرا الكشف عن حقيقة تاريخ الثقوب السوداء.

لا حاجة إلى تطبيقات Adobe Mobile المتعددة، فتطبيق Adobe Express هو التطبيق الوحيد الذي تحتاجه!

لا حاجة إلى تطبيقات Adobe Mobile المتعددة، فتطبيق Adobe Express هو التطبيق الوحيد الذي تحتاجه!

توفر Adobe أكثر من 4 تطبيقات مخصصة لتحرير الصور على الهاتف - وكلها متشابهة للغاية، لدرجة أنه من الصعب تحديد التطبيق الذي تحتاجه حقًا.

5 أدوات تحول التلفاز العادي إلى تلفاز ذكي

5 أدوات تحول التلفاز العادي إلى تلفاز ذكي

لا يزال بإمكان التلفزيون العادي أن يتعلم حيلًا جديدة باستخدام بعض الأدوات ويصبح أفضل من التلفزيون الذكي باهظ الثمن في دقائق.

كيفية استخدام جهاز التحكم عن بعد لمكيف الهواء باناسونيك

كيفية استخدام جهاز التحكم عن بعد لمكيف الهواء باناسونيك

إن استخدام جهاز التحكم عن بعد الخاص بمكيف الهواء باناسونيك بشكل صحيح سيساعدنا على الاستفادة من الميزات الموجودة في مكيف الهواء.

أطلقت شركة Gemini ميزة Talk Live للصور والملفات وYouTube

أطلقت شركة Gemini ميزة Talk Live للصور والملفات وYouTube

أضافت خدمة Gemini Live ميزة "التحدث المباشر عن" وسيتم الآن طرحها على نطاق أوسع على أجهزة Android. في السابق، كان تطبيق Gemini Live يقبل الإدخال الصوتي فقط، ولكن ميزة "Talk Live about" قد وسّع نطاق تحميل المحتوى

تم ترقية Microsoft Copilot باستخدام البحث العميق

تم ترقية Microsoft Copilot باستخدام البحث العميق

أخيرًا، بدأت Microsoft في جلب وظيفة Deep Research إلى Copilot AI الخاصة بها. إنه يسمح للمستخدمين بإجراء بحث شامل ومتعدد الخطوات حول أي موضوع.

كيفية تحويل الصورة إلى رسم بالقلم الرصاص في برنامج فوتوشوب

كيفية تحويل الصورة إلى رسم بالقلم الرصاص في برنامج فوتوشوب

سوف يوضح لك هذا البرنامج التعليمي كيفية تحويل صورة بسهولة إلى رسم بالقلم الرصاص باستخدام Adobe Photoshop.

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

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

تتيح لك الدوال المتنوعة في Go تمرير عدد متغير من الوسائط إلى دالة. إليك كل ما تحتاج إلى معرفته حول الوظائف المتقلبة في Golang.

كيفية كتابة الحروف الملونة في Lien Quan Mobile

كيفية كتابة الحروف الملونة في Lien Quan Mobile

لكتابة نص ملون في Lien Quan Mobile، اتبع الإرشادات الموجودة في هذه المقالة. ستكون الأحرف الملونة في LQ Mobile أكثر وضوحًا.

7 عمليات إدارة المهام التي لا ينبغي أن تنتهي أبدًا

7 عمليات إدارة المهام التي لا ينبغي أن تنتهي أبدًا

يحتوي قسم عمليات نظام Windows، الموجود أسفل القائمة في "إدارة المهام" في Windows 10، على العديد من العمليات المهمة والضرورية لتشغيل الكمبيوتر بشكل صحيح.

Apple تسمح للمستخدمين بالبقاء على iOS 15.7 قبل الترقية إلى iOS 16

Apple تسمح للمستخدمين بالبقاء على iOS 15.7 قبل الترقية إلى iOS 16

تتيح Apple للمستخدمين البقاء على نظام التشغيل iOS 15 مع الاستمرار في تلقي تحديثات الأمان قبل الترقية إلى iOS 16.

تتوفر نتائج تقييم أداء وحدة المعالجة المركزية Intel Core Ultra 5 225H وCore Ultra 7 255H وCore Ultra 9 285H على Geekbench

تتوفر نتائج تقييم أداء وحدة المعالجة المركزية Intel Core Ultra 5 225H وCore Ultra 7 255H وCore Ultra 9 285H على Geekbench

تم اختبار ثلاثة وحدات SKU من مجموعة Arrow Lake-H المحمولة القادمة من Intel على Geekbench، مما كشف عن أداء ومواصفات أحادية النواة ومتعددة النواة مثيرة للإعجاب.

من كان يظن أن عملية إنتاج الأربطة المطاطية المألوفة معقدة ومعقدة إلى هذا الحد؟

من كان يظن أن عملية إنتاج الأربطة المطاطية المألوفة معقدة ومعقدة إلى هذا الحد؟

تبدو أشرطة المطاط الصغيرة بسيطة، لكن عملية صنعها أكثر تعقيدًا مما تظن. فيما يلي العملية الكاملة لصنع الأشرطة المطاطية.

9 حقائق مثيرة للاهتمام حول عطارد

9 حقائق مثيرة للاهتمام حول عطارد

عطارد هو أصغر كوكب في النظام الشمسي وهو أيضًا أقرب كوكب إلى الشمس. يدور كوكب عطارد حول الشمس بسرعة كبيرة بشكل لا يصدق، حيث يصل متوسط ​​سرعته إلى نحو 106000 ميل في الساعة. وهذه مجرد أمثلة قليلة من الحقائق المثيرة للاهتمام حول هذا الكوكب.