אופרטור הצהרת null
חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 80 מתוך 94.
אופרטור הצהרת ה־null (!) אומר ל־Dart שמשתנה שניתן לקבל בו ערך null בוודאות אינו null באותה נקודה בקוד. הוא מאלץ את Dart להתייחס לטיפוס שניתן לקבל בו ערך null כאילו אינו מאפשר ערך null.
צרו משתנה מחרוזת שיכול להיות ריק:
String? name = 'Dart';
השתמש באופרטור הטענה על ערך שאינו null כדי להתייחס אליו כאל ערך שאינו ניתן להקצאת null:
String nonNullableName = name!;
print(nonNullableName);
לאחר הרצת הקוד שלמעלה, הפלט יהיה:
Dartהיזהר! אם המשתנה הוא למעשה null, התוכנית שלך תקרוס:
String? language = null;
// String nonNullable = language!; // פעולה זו תגרום לקריסה בזמן ריצה
אתגר
מתחיליםבאתגר הזה תתרגלו שימוש באופרטור האישור לאי־ריקות (!) ב־Dart. האופרטור הזה אומר ל־Dart שמשתנה שניתן להיות null אינו null בוודאות בנקודה מסוימת בקוד שלכם.
השלימו את הקוד שלמטה כדי להשתמש באופרטור האישור לאי־ריקות ולהמיר את המשתנה username, שניתן להיות null, למחרוזת שאינה יכולה להיות null, שאפשר להציב ב־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 אונליין