אופרטור הצהרת null
חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 80 מתוך 94.
אופרטור טענת ה־null (!) אומר ל־Dart שמשתנה שניתן לאפס אינו null בוודאות באותה נקודה בקוד. הוא מאלץ את Dart להתייחס לטיפוס שניתן לאפס כאל טיפוס שאינו ניתן לאפס.
צרו משתנה מחרוזת שיכול לקבל את הערך null:
String? name = 'Dart';
השתמשו באופרטור האסרטציה של null כדי להתייחס אליו כאל ערך שאינו null:
String nonNullableName = name!;
print(nonNullableName);
לאחר הרצת הקוד שלמעלה, הפלט יהיה:
Dartזהירות! אם המשתנה הוא למעשה null, התוכנית שלך תקרוס:
String? language = null;
// String nonNullable = language!; // זה יגרום לקריסה בזמן ריצה
אתגר
מתחיליםבאתגר הזה תתרגלו שימוש באופרטור הטענה שאינו null (!) ב-Dart. האופרטור הזה אומר ל-Dart שמשתנה שיכול להיות null אינו null בוודאות בנקודה מסוימת בקוד שלכם.
השלימו את הקוד שלמטה כדי להשתמש באופרטור הטענה שאינו null ולהמיר את המשתנה username, שיכול להיות null, למחרוזת שאינה יכולה להיות null, שאפשר להש assign ל-displayName.
הפלט הצפוי:
Welcome, DartLearner!נסו בעצמכם
void main() {
// למשתנה String הזה, שיכול להכיל null, כבר יש ערך שאינו null
String? username = 'DartLearner';
// TODO: השתמשו באופרטור אימות אי־null (!) כדי להמיר את username
// מ־String שיכול להכיל null ל־String שאינו יכול להכיל null
// כדי שאפשר יהיה להקצות אותו ל־displayName
String displayName;
// פעולה זו תציג את הודעת הברכה
print('Welcome, $displayName!');
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7עבודה עם מחרוזות
שרשור מחרוזותאינטרפולציה של מחרוזותמחרוזות מרובות שורותמאפייני מחרוזותשיטות בסיסיות למחרוזות10אוספים - יסודות המפות
מהן מפות?יצירת מפהגישה לערכים לפי מפתחזוגות מפתח-ערךקבלת גודל המפהקבלת המפתחותקבלת הערכיםבדיקה אם מפתח קיים13בטיחות null לעומק
הבנת nullטיפוסים שניתנים ל-nullטיפוסים שאינם ניתנים ל-nullאופרטור הצהרת nullאתחול מאוחרסיכום – טיפול בטוח ב-null2משתנים וטיפוסי נתונים בסיסיים
מהם משתנים?מחרוזותמספרים שלמים (int)מספרים מסוג double (double)ערכים בוליאניים (bool)הסקת טיפוס באמצעות 'var'משתנים סופייםמשתנים קבועיםמוסכמות למתן שמותבטיחות בסיסית מול nullסיכום – הכרזה על משתנים8זרימת בקרה – לולאות
לולאת 'for'לולאת 'while'לולאת 'do-while'שימוש ב-'break' בלולאותשימוש ב-'continue' בלולאותסיכום – חזרה על קוד3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמיםאופרטור מודולוהגדלה והקטנהקיצורי השמהסיכום - חישובים פשוטים6זרימת בקרה - קבלת החלטות
הוראת 'if'הוראת 'else'הוראת 'else if'חזרה - החלטות פשוטותהוראות 'if' מקוננותהוראת 'switch'9אוספים - יסודות הרשימות
מהן רשימות?יצירת רשימהגישה לפי אינדקסקבלת אורך הרשימההוספת איבריםהסרת איבריםבדיקה אם הרשימה ריקהמעבר על רשימהתרגלו בעצמכם: קומפיילר Dart אונליין