কম্পিউটার

কোটলিন ডাবল-ব্যাং (!!) অপারেটর কি?


কোটলিনে, "!!" একটি অপারেটর যা ডাবল-ব্যাং অপারেটর হিসাবে পরিচিত। এই অপারেটরটি "নট-নাল অ্যাসারশন অপারেটর" নামেও পরিচিত। এই অপারেটরটি যেকোনো মানকে একটি নন-NULL টাইপ ভ্যালুতে রূপান্তর করতে ব্যবহৃত হয় এবং সংশ্লিষ্ট মানটি NULL হলে এটি একটি ব্যতিক্রম নিক্ষেপ করে। নিম্নলিখিত উদাহরণে, আমরা দেখব কিভাবে এই ডাবল-ব্যাং অপারেটর ব্যবহার করতে হয়।

উদাহরণ 1

এই উদাহরণে, আমরা একটি পরিবর্তনশীল "নাম" বিবেচনা করব এবং একজন প্রোগ্রামার হিসাবে, যখনই "name" এর মান তখনই আমরা একটি NULL পয়েন্টার ব্যতিক্রম ফেলতে চাই NULL হয়। এখন, নিম্নলিখিত কোডটি চালান

fun main(args: Array<String>) {
   var name: String?
   name = null
   println(name)
}

আউটপুট

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
null

এই কোড আসলে আমাদের প্রয়োজনীয় বিবৃতি সমাধান করা হয় না. যখনই "name" এর মান হবে তখনই আমরা একটি NULL পয়েন্টার ব্যতিক্রম ফেলতে চেয়েছিলাম NULL হয়। ডবল-ব্যাং অপারেটর (!!) এর সাহায্যে আমাদের আগের উদাহরণটি পরিবর্তন করা যাক।

উদাহরণ 2

fun main(args: Array<String>) {
   var name: String?
   name = null

   // Nothing has been used to resolve overload ambiguity exception
   println(name!! is Nothing?)
}
সমাধান করতে কিছুই ব্যবহার করা হয়নি

আউটপুট

এটি রানটাইমে একটি NULL পয়েন্টার ব্যতিক্রম নিক্ষেপ করবে -

Exception in thread "main" java.lang.NullPointerException
at MainKt.main(main.kt:6)

  1. আমার নাম জেফ মেম কি?

  2. C# এ অপারেটর অগ্রাধিকার কি?

  3. পাইথনের ** অপারেটরের সহযোগীতা কী?

  4. পাইথনে &=অপারেটর কি করে?