در مورد nullable بودن متغیر اختیاری در تعریف ورودی فانکشن

پرسیده شده
فعالیت 925 روز پیش
دیده شده 483 بار
1

سلام وقت بخیر

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

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;
فایل پیوست

mohammad aghigh
mohammad aghigh

24 شهریور 00

4
حذف شده

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

چون هنوز در مورد 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);
فایل پیوست

سعید شاهینی

توسط

سعید شاهینی

24 شهریور 00