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

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

أفضل أجهزة الكمبيوتر المحمولة للطلاب في عام 2025

أفضل أجهزة الكمبيوتر المحمولة للطلاب في عام 2025

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

كيفية إضافة طابعة إلى Windows 10

كيفية إضافة طابعة إلى Windows 10

تعتبر إضافة طابعة إلى نظام التشغيل Windows 10 أمرًا بسيطًا، على الرغم من أن العملية بالنسبة للأجهزة السلكية ستكون مختلفة عن تلك الخاصة بالأجهزة اللاسلكية.

كيفية فحص الرام والتحقق من أخطاء الرام في حاسوبك بأعلى معدل دقة

كيفية فحص الرام والتحقق من أخطاء الرام في حاسوبك بأعلى معدل دقة

كما تعلمون، تُعدّ ذاكرة الوصول العشوائي (RAM) جزءًا أساسيًا من مكونات الحاسوب، فهي بمثابة ذاكرة لمعالجة البيانات، وهي العامل الحاسم في سرعة الحاسوب المحمول أو الحاسوب الشخصي. في المقالة التالية، سيقدم لكم WebTech360 بعض الطرق للتحقق من أخطاء ذاكرة الوصول العشوائي (RAM) باستخدام برامج على نظام ويندوز.

الفرق بين التلفزيون العادي والتلفزيون الذكي

الفرق بين التلفزيون العادي والتلفزيون الذكي

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

لماذا لا يوجد ضوء في الفريزر ولكن الثلاجة بها ضوء؟

لماذا لا يوجد ضوء في الفريزر ولكن الثلاجة بها ضوء؟

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

طريقتان لإصلاح ازدحام الشبكة الذي يُبطئ اتصال Wi-Fi

طريقتان لإصلاح ازدحام الشبكة الذي يُبطئ اتصال Wi-Fi

تتأثر شبكات Wi-Fi بالعديد من العوامل التي تتجاوز أجهزة التوجيه وعرض النطاق الترددي والتداخل، ولكن هناك بعض الطرق الذكية لتعزيز شبكتك.

كيفية الرجوع من نظام التشغيل iOS 17 إلى نظام التشغيل iOS 16 دون فقدان البيانات باستخدام Tenorshare Reiboot

كيفية الرجوع من نظام التشغيل iOS 17 إلى نظام التشغيل iOS 16 دون فقدان البيانات باستخدام Tenorshare Reiboot

إذا كنت تريد الرجوع إلى نظام التشغيل iOS 16 المستقر على هاتفك، فإليك الدليل الأساسي لإلغاء تثبيت نظام التشغيل iOS 17 والرجوع من نظام التشغيل iOS 17 إلى 16.

ماذا يحدث للجسم عند تناول الزبادي يومياً؟

ماذا يحدث للجسم عند تناول الزبادي يومياً؟

الزبادي طعام رائع. هل من الجيد تناول الزبادي يوميًا؟ عندما تأكل الزبادي يومياً كيف سيتغير جسمك؟ دعونا نكتشف ذلك معًا!

ما هو نوع الأرز الأفضل للصحة؟

ما هو نوع الأرز الأفضل للصحة؟

تناقش هذه المقالة أكثر أنواع الأرز المغذية وكيفية تحقيق أقصى قدر من الفوائد الصحية لأي نوع أرز تختاره.

كيفية الاستيقاظ في الوقت المحدد في الصباح

كيفية الاستيقاظ في الوقت المحدد في الصباح

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

نصائح للعب Rent Please! لعبة Landlord Sim للمبتدئين

نصائح للعب Rent Please! لعبة Landlord Sim للمبتدئين

الإيجار من فضلك! Landlord Sim هي لعبة محاكاة للهواتف المحمولة تعمل على نظامي التشغيل iOS وAndroid. ستلعب دور مالك مجمع سكني وتبدأ في تأجير شقة بهدف ترقية التصميم الداخلي لشققك وتجهيزها للمستأجرين.

أحدث رموز برج الدفاع في الحمام وكيفية إدخال الرموز

أحدث رموز برج الدفاع في الحمام وكيفية إدخال الرموز

احصل على رمز لعبة Bathroom Tower Defense من Roblox واستخدمه للحصول على مكافآت مثيرة. سيساعدونك على ترقية أو فتح الأبراج ذات الضرر الأعلى.

بنية ورموز ومبادئ تشغيل المحولات

بنية ورموز ومبادئ تشغيل المحولات

دعونا نتعلم عن بنية ورموز ومبادئ تشغيل المحولات بالطريقة الأكثر دقة.

4 طرق تجعل الذكاء الاصطناعي أجهزة التلفزيون الذكية أفضل

4 طرق تجعل الذكاء الاصطناعي أجهزة التلفزيون الذكية أفضل

من جودة الصورة والصوت الأفضل إلى التحكم الصوتي والمزيد، تعمل هذه الميزات المدعومة بالذكاء الاصطناعي على جعل أجهزة التلفزيون الذكية أفضل بكثير!

لماذا ChatGPT أفضل من DeepSeek

لماذا ChatGPT أفضل من DeepSeek

في البداية، كان لدى الناس آمال كبيرة في DeepSeek. باعتباره روبوت محادثة يعمل بالذكاء الاصطناعي يتم تسويقه كمنافس قوي لـ ChatGPT، فإنه يعد بإمكانيات وتجارب دردشة ذكية.