פונקציות עם ביטוי יחיד
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 60 מתוך 93.
כשפונקציה מכילה ביטוי יחיד בלבד, Kotlin מציעה תחביר תמציתי יותר. במקום להשתמש בסוגריים מסולסלים ובמילת המפתח return, אפשר להשתמש בסימן שוויון ולאחריו בביטוי עצמו.
הנה פונקציה רגילה בהשוואה לפונקציה השקולה לה, הכוללת ביטוי יחיד:
// פונקציה רגילה
fun double(n: Int): Int {
return n * 2
}
// פונקציה בעלת ביטוי יחיד
fun double(n: Int): Int = n * 2שתי הגרסאות פועלות באופן זהה, אבל השנייה קצרה יותר וקלה יותר לקריאה עבור פעולות פשוטות.
Kotlin יכולה אפילו להסיק את טיפוס ההחזרה של פונקציות בעלות ביטוי יחיד, וכך לאפשר לך להשמיט אותו לחלוטין:
fun double(n: Int) = n * 2
fun greet(name: String) = "Hello, $name!"התחביר הזה עובד מצוין גם עם ביטויים מותנים:
fun max(a: Int, b: Int) = if (a > b) a else b
fun isEven(n: Int) = n % 2 == 0פונקציות בעלות ביטוי יחיד מתאימות במיוחד לחישובים פשוטים, לאימותים ולהמרות. הן שומרות על הקוד שלך נקי וממוקד במה שהפונקציה עושה, במקום במכניקה של החזרת ערך.
אתגר
בינוניכתבו פונקציה בשם calculateDiscount שמקבלת את price ואת percentage ומחזירה את המחיר לאחר ההנחה.
השתמשו בתחביר של פונקציה בעלת ביטוי יחיד (עם = במקום סוגריים מסולסלים ו-return) כדי לחשב את המחיר הסופי לאחר החלת ההנחה.
המחיר לאחר ההנחה מחושב כך: price - (price * percentage / 100)
פרמטרים:
price(Double): המחיר המקוריpercentage(Int): אחוז ההנחה (0-100)
ערך מוחזר: המחיר לאחר החלת ההנחה (Double)
נסו בעצמכם
fun calculateDiscount(price: Double, percentage: Int): Double {
// כתבו כאן קוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין