যে কোনো ভেরিয়েবল যা তার ঘোষণার পরে আরম্ভ করা হয় একটি "লেটিনিশিয়ালাইজড ভেরিয়েবল" হিসাবে পরিচিত। প্রচলিত প্রোগ্রামিং ভাষায়, যেকোন নন-NULL টাইপ ভেরিয়েবলকে কনস্ট্রাক্টরে আরম্ভ করতে হবে। কিন্তু কখনও কখনও, ভুল করে, ডেভেলপাররা এই NULL চেকগুলি করতে ভুলে যায় যা প্রোগ্রামিং ত্রুটির কারণ হয়। এই পরিস্থিতি এড়ানোর জন্য, কোটলিন "lateInit" নামে একটি নতুন সংশোধক প্রবর্তন করেছে। এই পরিবর্তনকারীর সাথে, Kotlin এই ভেরিয়েবলটি শুরু করা হয়েছে কিনা তা পরীক্ষা করার জন্য কয়েকটি পদ্ধতি প্রদান করে৷
একটি "lateInit" ভেরিয়েবল তৈরি করার জন্য, আমাদের শুধুমাত্র সেই ভেরিয়েবলের অ্যাক্সেস মডিফায়ার হিসেবে "lateInit" কীওয়ার্ড যোগ করতে হবে। কোটলিন -
-এ "lateInit" ব্যবহার করার জন্য নিম্নলিখিত কয়েকটি শর্ত অনুসরণ করা প্রয়োজন-
একটি পরিবর্তনযোগ্য ভেরিয়েবলের সাথে "lateInit" ব্যবহার করুন। তার মানে, আমাদের "lateInit" এর সাথে "var" কীওয়ার্ড ব্যবহার করতে হবে।
-
"lateInit" শুধুমাত্র অ-NULLable ডেটা প্রকারের সাথে অনুমোদিত৷
-
"lateInit" আদিম ডেটা প্রকারের সাথে কাজ করে না৷
-
"lateInit" ব্যবহার করা যেতে পারে যখন পরিবর্তনশীল সম্পত্তির কোনো গেটার না থাকে এবং সেটার পদ্ধতি।
উদাহরণ
এই উদাহরণে, আমরা একটি ভেরিয়েবলকে "lateInit" ভেরিয়েবল হিসাবে ঘোষণা করব এবং আমরা আমাদের Kotlin লাইব্রেরি ফাংশন ব্যবহার করব ভেরিয়েবলটি আরম্ভ করা হয়েছে কিনা তা পরীক্ষা করার জন্য৷
class Tutorial {
lateinit var name : String
fun checkLateInit(){
println(this::name.isInitialized)
// it will print false as the value is not initialized
// initializing name
name = "www.tutorialspoint.com/"
println(this::name.isInitialized)
// It will return true
}
}
fun main() {
var obj=Tutorial();
obj.checkLateInit();
} আউটপুট
একবার আপনি কোডটি কার্যকর করলে, এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেfalse true
দ্বিতীয় ক্ষেত্রে, পরিবর্তনশীল নাম সূচনা করা হয়, তাই এটি সত্য ফেরত দেয়।