גישה מודעת ל-null
חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 29 מתוך 94.
אופרטור גישה המודע לערכי null (?.) ניגש בבטחה למאפיינים של אובייקטים שעשויים להיות null, ובכך מונע שגיאות בזמן ריצה.
void main() {
String? name = 'Dart';
int? length = name?.length;
print('Name: $name');
print('Length: $length');
}במקרה של ערכי null, מוחזר null במקום שהתוכנית תקרוס:
void main() {
String? name = null;
int? length = name?.length;
print('Name: $name');
print('Length: $length');
}אתגר
קלצרו תוכנית ב-Dart שמדגימה את אופרטור הגישה המודעת ל-null (?.) עם דמות במשחק:
- צרו משתנה String שניתן להקצות לו null בשם
playerNameוהגדירו את ערכו ל-null - צרו משתנה int שניתן להקצות לו null בשם
playerScoreוהגדירו את ערכו ל-100 - השתמשו באופרטור הגישה המודעת ל-null (
?.) כדי לקבל את האורך של playerName ולשמור אותו במשתנה בשםnameLength - הדפיסו את ההודעה הבאה:
Player name length: X(כאשר X הוא הערך של nameLength) - עדכנו את
playerNameלערך "Champion" - השתמשו שוב באופרטור הגישה המודעת ל-null כדי לקבל את האורך המעודכן ולשמור אותו ב-
nameLength - הדפיסו את ההודעה המעודכנת:
Player name length: X(כאשר X הוא הערך החדש) - הדפיסו את הניקוד של השחקן בפורמט הזה:
Player score: 100
נסו בעצמכם
void main() {
// הכריזו כאן על המשתנים שיכולים להכיל null
String? playerName = _;
int? playerScore = _;
// קבלו את האורך של playerName באמצעות האופרטור ?.
int? nameLength = playerName_.length;
// הדפיסו את האורך ההתחלתי של השם
print("Player name length: ${nameLength}");
// עדכנו את playerName
playerName = _;
// קבלו את האורך המעודכן באמצעות האופרטור ?.
nameLength = playerName_.length;
// הדפיסו את האורך המעודכן של השם
print("Player name length: ${nameLength}");
// הדפיסו את הניקוד של השחקן
print("Player score: ${playerScore}");
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7עבודה עם מחרוזות
שרשור מחרוזותאינטרפולציה של מחרוזותמחרוזות מרובות שורותמאפייני מחרוזותשיטות בסיסיות למחרוזות10אוספים - יסודות המפות
מהן מפות?יצירת מפהגישה לערכים לפי מפתחזוגות מפתח-ערךקבלת גודל המפהקבלת המפתחותקבלת הערכיםבדיקה אם מפתח קיים2משתנים וטיפוסי נתונים בסיסיים
מהם משתנים?מחרוזותמספרים שלמים (int)מספרים מסוג double (double)ערכים בוליאניים (bool)הסקת טיפוס באמצעות 'var'משתנים סופייםמשתנים קבועיםמוסכמות למתן שמותבטיחות בסיסית מול nullסיכום – הכרזה על משתנים8זרימת בקרה – לולאות
לולאת 'for'לולאת 'while'לולאת 'do-while'שימוש ב-'break' בלולאותשימוש ב-'continue' בלולאותסיכום – חזרה על קוד3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמיםאופרטור מודולוהגדלה והקטנהקיצורי השמהסיכום - חישובים פשוטים6זרימת בקרה - קבלת החלטות
הוראת 'if'הוראת 'else'הוראת 'else if'חזרה - החלטות פשוטותהוראות 'if' מקוננותהוראת 'switch'9אוספים - יסודות הרשימות
מהן רשימות?יצירת רשימהגישה לפי אינדקסקבלת אורך הרשימההוספת איבריםהסרת איבריםבדיקה אם הרשימה ריקהמעבר על רשימהתרגלו בעצמכם: קומפיילר Dart אונליין