معاملات الدالة
جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 54 من 109.
معاملات الدالة (Function parameters) هي قيم تمررها إلى الدالة عند استدعائها. فهي تتيح للدوال العمل مع بيانات مختلفة في كل مرة يتم استدعاؤها فيها.
أنشئ دالة بمعاملات من خلال إدراج أسمائها وأنواعها داخل الأقواس:
func add(x int, y int) {
sum := x + y
fmt.Println("Sum:", sum)
}
func main() {
add(5, 3)
add(10, 20)
}عند تشغيل هذا البرنامج، فإنه يخرج:
Sum: 8
Sum: 30يمكن كتابة المعاملات التي لها نفس النوع بشكل أكثر إيجازاً:
func greet(first, last string) {
fmt.Println("Hello,", first, last)
}يمكن للدوال أيضاً إرجاع قيم من خلال تحديد نوع الإرجاع:
func multiply(x, y int) int {
return x * y
}
func main() {
result := multiply(4, 5)
fmt.Println("Result:", result) // المخرجات: Result: 20
}التحدي
مبتدئفي هذا التحدي، ستتدرب على التعامل مع معاملات الدوال (function parameters). ستحتاج إلى إكمال دالة تستقبل معاملين من نوع سلسلة نصية (string) وتجمعهما معاً لإنشاء رسالة ترحيب.
الدالة createGreeting معرفة بالفعل، ولكنها تفتقد إلى المعاملات. مهمتك هي إضافة المعاملات الصحيحة واستخدامها داخل جسم الدالة.
ورقة مرجعية
تسمح معلمات الدالة للدوال بالعمل مع بيانات مختلفة في كل مرة يتم استدعاؤها فيها.
قم بتعريف المعلمات من خلال سرد أسمائها وأنواعها بين قوسين:
func add(x int, y int) {
sum := x + y
fmt.Println("Sum:", sum)
}يمكن كتابة المعلمات التي لها نفس النوع بشكل أكثر إيجازاً:
func greet(first, last string) {
fmt.Println("Hello,", first, last)
}يمكن للدوال إرجاع قيم من خلال تحديد نوع الإرجاع:
func multiply(x, y int) int {
return x * y
}جرّب بنفسك
package main
import "fmt"
// TODO: أضف معاملات لهذه الدالة لتقبل تحية واسماً
// يجب أن تأخذ الدالة معاملين من نوع string: greeting و name
// يمكنك كتابتهما كـ (greeting string, name string) أو (greeting, name string)
func createGreeting(/* أضف المعاملات هنا */) string {
// TODO: أرجع سلسلة نصية تجمع بين التحية والاسم
// على سبيل المثال: "Hello, John!"
// استخدم التنسيق: greeting + ", " + name + "!"
}
func main() {
// استدعاءات الاختبار هذه محددة مسبقاً لك
message := createGreeting("Hello", "Gopher")
fmt.Println(message)
// اختبار بقيم مختلفة
message = createGreeting("Welcome", "Friend")
fmt.Println(message)
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمعاملات المنطقية
معاملات المقارنة - الجزء 1معاملات المقارنة - الجزء 2معامل AND المنطقيمعامل OR المنطقيمعامل NOT المنطقيأساسيات أولوية المعاملاتملخص - إجراء المقارنات7تدفق التحكم: الحلقات التكرارية
شرح حلقة `for`حلقة `for` - أساسياتحلقة `for` - بشرط فقطالكلمة المفتاحية `break`الكلمة المفتاحية `continue`الحلقات المتداخلةملخص - تكرار العمليات2المتغيرات وأنواع البيانات الأساسية
ما هو المتغير؟استنتاج النوع باستخدام `:=`الأعداد الصحيحة (int)أرقام الفاصلة العائمةالقيم المنطقية (Booleans)النصوص (Strings)القيم الصفريةالثوابتقواعد التسميةملخص - المتغيرات والأنواع5الإدخال والإخراج الأساسي
المخرجات المنسقةرموز التنسيقطباعة الأنواعالحصول على مدخلات المستخدم الأساسيةملخص - الإدخال والإخراج8الدوال
فهم الدوالالتصريح عن دالةاستدعاء الدوالمعاملات الدالةإرجاع قيمة واحدةإرجاع قيم متعددةقيم الإرجاع المسماةأساسيات نطاق الدالةملخص - إنشاء كود قابل لإعادة الاستخدام3المعاملات الأساسية
المعاملات الحسابيةمعامل القسمةمعامل باقي القسمةمعامل التعيينمعاملات التعيين المركبةالزيادة والنقصانملخص - الحسابات6تدفق التحكم: الجمل الشرطية
جملة `if`الكلمة المفتاحية `else`الكلمة المفتاحية `else if`تظليل المتغيرات في `if`تهيئة المتغيراتجملة `switch``switch` مع التعبيرات`switch` بدون تعبيرالكلمة المفتاحية `fallthrough`ملخص - اتخاذ القرارات