القيم الافتراضية
جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 59 من 93.
أحيانًا تريد أن تكون لمعامل الدالة قيمة بديلة عندما لا يوفّر المستدعي قيمةً لها. تتيح لك Kotlin تعيين قيم افتراضية مباشرةً في تعريف المعامل.
fun greet(name: String = "Guest") {
println("Hello, $name!")
}
fun main() {
greet("Alice")
greet()
}
// المخرجات:
// مرحباً، Alice!
// مرحباً، Guest!عند استدعاء greet() دون وسيطة، تستخدم Kotlin القيمة الافتراضية "Guest". وهذا يجعل الدوال أكثر مرونة؛ إذ يمكن للمتصلين تخصيص السلوك عند الحاجة أو الاعتماد على قيم افتراضية معقولة.
يمكنك مزج المعاملات التي لها قيم افتراضية والتي ليس لها قيم افتراضية. عادةً ما تأتي المعاملات ذات القيم الافتراضية في النهاية:
fun createUser(name: String, role: String = "member"): String {
return "$name ($role)"
}
fun main() {
println(createUser("Alice", "admin"))
println(createUser("Bob"))
}
// المخرجات:
// Alice (admin)
// Bob (member)تصبح الوسائط المُسمّاة مفيدةً بشكل خاص مع القيم الافتراضية. فهي تتيح لك تخطي بعض المعاملات مع توفير معاملات أخرى:
fun format(text: String, uppercase: Boolean = false, prefix: String = "") {
val result = if (uppercase) text.uppercase() else text
println("$prefix$result")
}
fun main() {
format("hello", prefix = "-> ")
}
// المخرجات: -> helloالتحدي
متوسطنفّذ buildGreeting(name: String, greeting: String = "Hello"): String. أعد تحية بالصيغة greeting, name!. يستدعي مشغّل الاختبار المتوفر دالتك مرتين: مرةً باستخدام الاسم فقط، ومرةً باستخدام اسم وتحية صريحة. لا تكتب main ولا تطبع داخل الدالة. يجب أن تستخدم التحية المفقودة القيمة الافتراضية "Hello".
جرّب بنفسك
fun buildGreeting(name: String, greeting: String): String {
// أضف القيمة الافتراضية إلى المعامل وأرجع التحية.
TODO("Build the greeting")
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4العوامل - الجزء الأول
العوامل الحسابيةعامل باقي القسمةالإسناد المُعزَّزعوامل المقارنةمراجعة - الرياضيات البسيطة7أساسيات الإدخال والإخراج
دالة Printlnقوالب السلاسل النصيةإدخال ReadLineتحويل النوعمراجعة - السنوات حتى التقاعدمراجعة - صواب أم خطأ10الدوال
تعريف دالةالمعاملات والوسائطالقيم المُعادةالوسائط المُسمّاةالقيم الافتراضيةالدوال ذات التعبير الواحدمراجعة - دالة سيغمامراجعة - دالة التحقق2المتغيرات
val مقابل varاستنتاج النوعالأعدادالسلسلة النصيةالقيمة المنطقيةاصطلاحات التسميةمراجعة - تهيئة المتغيرات5المعاملات الجزء 2
المعاملات المنطقية الجزء 1المعاملات المنطقية الجزء 2المعاملات المنطقية الجزء 3المعامل الثلاثي مع تعبير Ifمراجعة - المنطق البسيط8حاسبة تقسيم الفاتورة
رسالة ترحيبيةالحصول على الإدخال3القابلية للقيمة الفارغة
ما هو الأمان من القيم الفارغةالأنواع القابلة للقيمة الفارغةعامل الاستدعاء الآمنعامل Elvisأساسيات تحدي الدوالتأكيد عدم كون القيمة فارغةمراجعة - الوصول الآمن9الحلقات
حلقة Forحلقة Whileحلقة Do-WhileBreakContinueالنطاقات في الحلقاتالحلقة المتداخلةمراجعة - المضروبمراجعة - الإدخال الديناميكيتدرّب بنفسك: Playground لـ Kotlin