این محتوا نیازمند سطح دسترسی 2 میباشد

متغیر null پذیر در Kotlin

سایت مرجع Kotlin

زبان Kotlin یه زبان safe null هست

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

بعنوان مثال اگه ما یه متغییر test=null ایجاد کنیم، برنامه خطای خاصی نمیده.

ولی اگه در test مقدار رشته ای، عددی،اعشاری و حتی کاراکتر... قرار بدیم، برنامه اینو قبول نمیکنه.

چون ما در ابتدا نوع داده ای برای متغیر مشخص نکردیم. فقط یه عبارت null توش قرار دادیم.

یعنی گفتیم هیچی تو این متغیر نباشه.زمانی که هیچی نباشه هم نوع داده ای null درنظر گرفته میشه.

برای رفع این مشکل باید نوع متغیر رو مشخص کنیم.

مثلا میگیم متغیر ما string ئه. ولی بازم اجازه نمیده که برای متغیر String نوع null قرار بدیم.

اینجا kotlin به ما اخطار میده که نمیتونیم  مقدار رو null قرار بدیم و اینکار ممکنه باعث crash شدن برنامه بشه.

خطای داده null pointer exception

اینجا باید از یه keyword استفاده کنیم تا با استفاده از اون سیستم بتونه مقدار null رو برامون قرار بده.

وقتی کد رو با فرمت  var test : string? = null بنویسیم خطا رفع میشه و مقدار null تو متغیر ریخته میشه.

تغییر یه مقدار null در متغییر

  1. نوع داده رو مشخص کنیم.(اگه اینکارو نکنیم به مشکل برمیخوریم)
  2. بعد مشخص کردن نوع از علامت سوال (؟) استفاده میکنیم.

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

خب حالا میخوایم طول این متغیر رو فراخوانی میکنیم.

اما چون مقدار nullئه سیستم خطا میده که چیزی تو متغیر وجود نداره که طولش رو نمایش بده.

برای رفع این مشکل هم باز از علامت سوال استفاده میکنیم.

موقع خروجی گرفتن کد رو بصورت  print(test?.lenght) مینویسیم تا با خطا روبرو نشیم.

کدهارو طبق ویدیوی زیر اجرا میکنیم.

خروجی در محیط Kotlin REPL

اگه از کد  val test : string? = null خروجی بگیریم مقدار null برامون چاپ میشه.

خب حالا اگه بخوایم طول همین کد رو خروجی بگیریم.

باز هم مقدار null برامون چاپ میشه.

کاربرد keyword . . .

این محتوا نیازمند عضویت ویژه میباشد

این محتوا نیازمند سطح دسترسی 2 میباشد

فهرست