💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ محمد عقیق
در مورد nullable بودن متغیر اختیاری در تعریف ورودی فانکشن
سعید شاهینی حل شده توسط سعید شاهینی

سلام وقت بخیر

در قسمت مربوط به تعریف فانکشن و متغیرهای آن یک جا فرمودید که متغیر می‌تونه اختیاری باشه که اگر بخوایم نال باشه باید علامت سوال بزاریم. خطایی که میده اینه : 

Error: A value of type 'int?' can't be assigned to a variable of type 'num' because 'int?' is nullable and 'num' isn't. int addNumbers(int num1,int num2, [int? num3])=>num1+num2+num3; ^

 


void main(){
  var result = addNumbers(2,2);
  print(result);
}
int addNumbers(int num1,int num2, [int? num3])=>num1+num2+num3;

سلام وقت بخیر،

چون هنوز در مورد null safety صحبت نکردم، راه حل این مسئله رو تو ویدیو نمی‌تونستم بگم، ولی حالا که پرسیدی اینجا کد صحیح رو می‌نویسم. باید از operator دوتا علامت سوال (؟؟) استفاده کنی، معنی استفاده ازش اینه: اگه num3 برابر با null بود، مقدار صفر رو جایگزین این expression کن

void main(){
  var result = addNumbers(2,2);
  print(result);
}
int addNumbers(int num1,int num2, [int? num3])=>num1+num2+(num3??0);
بهترین پاسخ
سعید شاهینی ۲۴ شهریور ۱۴۰۰، ۱۱:۵۱