فلاترلند | مرکز آموزش رایگان فلاتر

آموزش برنامه نویسی موبایل و ساخت اپلیکیشن با فریمورک فلاتر

فلاترلند | مرکز آموزش رایگان فلاتر

آموزش برنامه نویسی موبایل و ساخت اپلیکیشن با فریمورک فلاتر

مفهوم null و بررسی آن

چهارشنبه, ۹ اسفند ۱۴۰۲، ۰۱:۱۱ ب.ظ

به نام خدا. در این مطلب به بررسی عملگر null می پردازیم. گاهی اوقات می خواهیم یک متغیر را خالی بگذاریم. برای اینکار از مفهوم null استفاده می شود. در ادامه مطلب با فلاترلند همراه باشید. 

برای تعریف یک متغیر null می توانید به آن مستقیما مقداری ندهید و خالی بسازید.

varType varName;

در این فرمول فقط نیاز داریم نوع متغیر و نام آن را مشخص کنید.

به عنوان مثال:

String name;

این یک متغیر String است که در حال حاضر null است و در ادامه می توان به آن مقدار دهی کرد. مثلا:

String name;
name = "Alireza";

بعد از مقدار دهی می توانید به آن دسترسی پیدا کنید اما بدون مقدار دهی نمی توان به آن دسترسی یافت:

String name;
print(name);

این کد خروجی ارور دارد و نمی توان به آن دسترسی پیدا کرد.

برای حل این مشکل باید به آن مقدار بدهیم:

String name;
name = "Alireza";
print(name);

گاهی می خواهیم یک متغیر null پذیر بسازیم. برای این کار طبق این فرمول عمل می کنیم:

varType? varName;

مثلا:

String? name;

این متغیر اکنون null پذیر است، به دیگر سخن می توان آن را بدون مقدار دهی استفاده کرد، منتها در خروجی مقدار null را بر می گرداند.

String? name;
print(name);

خروجی این کد null است ولی اروری نمی دهد.

اکنون که متغیر ما null پذیر است می توانیم در شرایط مختلف برای آن تصمیم بگیریم. مثلا کد زیر بررسی می کند که اگر مقداری نداشت یا null این مقدار را بر گردان:

String? name;
print(name ?? "Alireza");

هنگامی که متغیر null پذیر است اگر بخواهیم متودی را روی آن اجرا کنیم به ارور می خوریم:

String? name;
print( name.length );

برای اینکه به اروری نخوریم باید یک علامت سوال جلوی نام قرار دهیم:

String? name;
print( name?.length );

این کار باعث می شود تا برنامه بررسی کند اگر مقدار null نبود length آن را دریافت کند در غیر این صورت null را برگرداند.

void main(List<String> args) {
    String? name;
    print(name?.length);
}
خروجی کد بالا null است چرا که name مقداری ندارد. اما کد زیر name مقدار دارد و طول آن ۷ است.
void main(List<String> args) {
    String? name;
    name = "Alireza";
    print(name?.length);
}
گاهی می خواهیم به برنامه بگوییم مطمینیم که یک متغیر null نیست پس کار را انجام بده. برای این کار باید از علامت ! به جای علامت سوال استفاده کنیم:
String? name;
print(name!.length);
این کد ارور می دهد چرا که متغیر null است و ما به آن گفتیم که این متغیر null نیست.
سعی کنید خودتان یک باز از هر کدام مثال بنویسید.
  • ۰۲/۱۲/۰۹
  • علیرضا حسن زاده

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی
فلاترلند | مرکز آموزش رایگان فلاتر

فلاترلند، یک وبلاگ آموزشی است که به شما کمک می‌کند تا با استفاده از آخرین فناوری‌ها و روش‌های روز دنیا، برنامه‌های موبایل برای پلتفرم‌های مختلف مانند اندروید، iOS و حتی دسکتاپ را تنها با یک بار کد زدن بسازید !. در این وبلاگ، از صفر تا صد برنامه نویسی موبایل با فریمورک فلاتر را به شما آموزش می‌دهیم.
در صورتی که در مطالب وبلاگ ایراد / ابهام و... وجود داشت میتوانید از قسمت ارتباط با ما راه های ارتباطی را بررسی و مشکل خود را بیان کنید.