שליפת ערך באמצעות If Let
חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 12 מתוך 86.
כדי לגשת בבטחה לערך שבתוך ערך אופציונלי, משתמשים ב־if let: טכניקה שנקראת קישור אופציונלי. היא בודקת אם הערך האופציונלי מכיל ערך, ואם כן, שולפת אותו לתוך קבוע זמני.
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// ברוך הבא, Swift_Devכאן, if let בודק אם יש ערך ל־username. מכיוון שיש לו ערך, הערך נשלף לתוך name, שקיים רק בתוך בלוק ה־if. אם username היה nil, בלוק ה־else היה פועל במקום זאת.
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// הגיל לא צויןמכיוון ש-age הוא nil, התנאי נכשל ובלוק ה-else מתבצע. כך נמנעות קריסות שהיו מתרחשות אילו ניסינו להשתמש ישירות בערך חסר.
אתגר
קלהמשתנה הבא נתון לך:
var nickname: String? = "CoddyLearner"השתמש ב־if let כדי לחלץ בבטחה את הערך של nickname. אם יש בו ערך, הדפס Hello, [value]! כאשר [value] הוא הכינוי שחולץ. אם הוא nil, הדפס No nickname set.
נסו בעצמכם
var nickname: String? = "CoddyLearner"
// TODO: כתבו את הקוד שלכם למטה
// השתמשו ב-if let כדי לחלץ בבטחה את הערך של nickname
// אם הוא מכיל ערך, הדפיסו "Hello, [value]!"
// אם הוא nil, הדפיסו "No nickname set"השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסי
פונקציית ההדפסהאינטרפולציה של מחרוזותקלט באמצעות ReadLineהמרת טיפוסיםחזרה – עד 120חזרה – אמת או שקר3ערכים אופציונליים
מהם ערכים אופציונלייםשליפת ערך באמצעות If LetGuard Letאופרטור איחוד עם Nilסיכום – שליפה בטוחה של ערך9לולאות
לולאת For-Inלולאת Whileלולאת Repeat-WhileBreakContinueחזרה – עצרתטווחים בלולאותלולאה מקוננתחזרה – קלט דינמיתרגלו בעצמכם: Swift אונליין