אופרטור אלביס
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 15 מתוך 93.
אופרטור הקריאה הבטוחה מצוין למניעת קריסות, אבל לפעמים צריך ערך ממשי במקום null. אופרטור אלביס ?: מאפשר לספק ערך ברירת מחדל כאשר ביטוי הוא null.
התחביר פשוט: מציבים ?: אחרי ביטוי שניתן להיות null, ואחריו את ערך ברירת המחדל:
fun main() {
val name: String? = null
val displayName = name ?: "Guest"
println(displayName) // מדפיס: Guest
}אם הצד השמאלי אינו null, נעשה שימוש בערך הזה. אם הוא null, הצד הימני הופך לתוצאה. זה עובד מצוין עם קריאות בטוחות:
fun main() {
val text: String? = null
val length = text?.length ?: 0
println(length) // מדפיס: 0
val greeting: String? = "Hello"
val greetingLength = greeting?.length ?: 0
println(greetingLength) // מדפיס: 5
}האופרטור קיבל את שמו כי ?: נראה כמו השיער של אלביס כשמסתכלים עליו מהצד. חשוב מכך, הוא מאפשר להמיר טיפוסים שניתנים ל-null לערכים שאינם ניתנים ל-null עם ערכי ברירת מחדל הגיוניים.
אתגר
קללחבילה יש תווית מעקב אופציונלית ויעד אופציונלי. קוד הפתיחה מספק את שני הערכים הניתנים לאיפוס. השתמשו ב-?: כדי לבחור ב-"Pending" כאשר תווית המעקב חסרה, וב-"Unassigned" כאשר היעד חסר. הדפיסו את התווית שנבחרה, ואז את היעד שנבחר, בשורות נפרדות.
נסו בעצמכם
fun main() {
val trackingLabel: String? = null
val destination: String? = "Harbor"
// בחר והדפס את שני הערכים להצגה.
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין