কম্পিউটার টিউটোরিয়াল

কোটলিনে lateInit ভেরিয়েবল আরম্ভ করা হয়েছে কিনা যাচাই করার উপায়

ওভারভিউ

যে কোনো ভেরিয়েবল যা ঘোষণার পরে আরম্ভ করা হয় তাকে "late initialized variable" বলা হয়। truyền thốngীয় প্রোগ্রামিং ভাষায়, যেকোনো নন-নাল টাইপের ভেরিয়েবল কনস্ট্রাক্টরে আরম্ভ করা উচিত। কিন্তু কখনো কখনো ভুলবশত ডেভেলপাররা এই নাল চেকগুলো বুলে যান যা প্রোগ্রামিং ত্রুটি সৃষ্টি করে। এই পরিস্থিতি এড়াতে কোটলিনে "lateInit" নামক একটি নতুন মডিফায়ার প্রবর্তন করা হয়েছে। এই মডিফায়ারের পাশাপাশি, কোটলিন এই ভেরিয়েবল আরম্ভ করা হয়েছে কিনা তা যাচাই করার জন্য কিছু মেথড প্রদান করে।

"lateInit" ভেরিয়েবল তৈরি করতে, আমাদের শুধু সেই ভেরিয়েবলের অ্যাক্সেস মডিফায়ার হিসেবে "lateInit" কীওয়ার্ডটি যোগ করতে হবে। কোটলিনে "lateInit" ব্যবহার করার জন্য নিচের শর্তাবলী মেনে চলতে হবে:

  • পরিবর্তনশীল (mutable) ভেরিয়েবলের সাথে "lateInit" ব্যবহার করুন। অর্থাৎ, "var" কীওয়ার্ড "lateInit" এর সাথে ব্যবহার করতে হবে।

  • "lateInit" শুধুমাত্র নন-নাল (non-nullable) ডেটা টাইপের সাথে অনুমোদিত।

  • "lateInit" প্রাইমিটিভ ডেটা টাইপের সাথে কাজ করে না।

  • "lateInit" তখন ব্যবহার করা যেতে পারে যখন ভেরিয়েবল প্রপার্টির কোনো getter এবং setter মেথড না থাকে।

উদাহরণ

এই উদাহরণে, আমরা একটি ভেরিয়েবল "lateInit" হিসেবে ঘোষণা করব এবং কোটলিন লাইব্রেরি ফাংশন ব্যবহার করে ভেরিয়েবলটি আরম্ভ করা হয়েছে কিনা তা যাচাই করব।

class Tutorial {
    lateinit var name: String

    fun checkLateInit() {
        println(this::name.isInitialized)
        // এটি false প্রিন্ট করবে কারণ মান আরম্ভ করা হয়নি

        // name আরম্ভ করা
        name = "www.tutorialspoint.com/"
        println(this::name.isInitialized) // এটি true ফেরত দেবে
    }
}

fun main() {
    var obj = Tutorial()
    obj.checkLateInit()
}

আউটপুট

false
true

দ্বিতীয় কেসে, ভেরিয়েবল name আরম্ভ করা হয়েছে, সেজন্য এটি True ফেরত দেয়।

  1. অ্যান্ড্রয়েড ডিভাইসে ফিঙ্গারপ্রিন্ট নিবন্ধিত আছে কিনা যাচাই করার পদ্ধতি

  2. অ্যান্ড্রয়েডে নোটিফিকেশন থেকে অ্যাক্টিভিটি কল হয়েছে কিনা তা কীভাবে জানবেন?

  3. আপনার ওয়েবক্যাম হ্যাক হয়েছে কিনা যাচাই করার উপায়

  4. ওয়েবসাইট হ্যাকিং সনাক্তকরণ ও প্রতিক্রিয়া: সম্পূর্ণ গাইড