কম্পিউটার

Kotlin মধ্যে const এবং val মধ্যে পার্থক্য কি?


const কীওয়ার্ড

কনস্ট যখনই পরিবর্তনশীল মান const থাকে তখন Kotlin-এ কীওয়ার্ড ব্যবহার করা হয় একটি অ্যাপ্লিকেশনের জীবনচক্র জুড়ে। এর মানে হল যে const শুধুমাত্র ক্লাসের অপরিবর্তনীয় বৈশিষ্ট্যের উপর প্রয়োগ করা হয়। সহজ কথায়, const ব্যবহার করুন একটি ক্লাসের শুধুমাত্র-পঠনযোগ্য সম্পত্তি ঘোষণা করতে।

কিছু সীমাবদ্ধতা আছে যা const-এ প্রয়োগ করা হয় পরিবর্তনশীল তারা নিম্নরূপ -

  • const শুধুমাত্র একটি শ্রেণীর অপরিবর্তনীয় সম্পত্তিতে প্রয়োগ করা যেতে পারে।

  • এটি কোনো ফাংশন বা কোনো ক্লাস কনস্ট্রাক্টরের জন্য বরাদ্দ করা যাবে না। এটি একটি আদিম ডেটা টাইপ বা স্ট্রিং দিয়ে বরাদ্দ করা উচিত।

  • কনস্ট কম্পাইল-টাইমে ভেরিয়েবল শুরু করা হবে।

উদাহরণ

নিম্নলিখিত উদাহরণে, আমরা একটি const ঘোষণা করব পরিবর্তনশীল এবং আমরা আমাদের অ্যাপ্লিকেশনে একই ভেরিয়েবল ব্যবহার করব।

const val sName = "tutorialspoint";
// This line will throw an error as we cannot
// use Const with any function call.
// const val myFun = MyFunc();

fun main() {
   println("Example of Const-Val--->"+sName);
}

আউটপুট

এটি নিম্নলিখিত আউটপুট দেবে -

Example of Const-Val--->tutorialspoint

ভাল কীওয়ার্ড

কোটলিনে, val একটি পরিবর্তনশীল ঘোষণা করার জন্যও ব্যবহৃত হয়। উভয়ই "val" এবং "const val" একটি শ্রেণীর শুধুমাত্র-পঠন বৈশিষ্ট্য ঘোষণা করার জন্য ব্যবহৃত হয়। ভেরিয়েবলগুলিকে const হিসাবে ঘোষণা করা হয়েছে রানটাইমে আরম্ভ করা হয়।

  • val একটি শ্রেণীর অপরিবর্তনীয় সম্পত্তির সাথে ডিল করে, অর্থাৎ, শুধুমাত্র পঠনযোগ্য ভেরিয়েবলগুলি val ব্যবহার করে ঘোষণা করা যেতে পারে .

  • val রানটাইমে আরম্ভ করা হয়।

  • val এর জন্য , বিষয়বস্তু নিঃশব্দ করা যেতে পারে, যেখানে const val এর জন্য , বিষয়বস্তু নিঃশব্দ করা যাবে না।

উদাহরণ

val ব্যবহার করে একটি ফাংশন পাস করার জন্য আমরা পূর্ববর্তী উদাহরণটি পরিবর্তন করব এবং আমরা রানটাইমে কোনো ত্রুটি পাব না।

const val sName = "tutorialspoint";

// We can pass function using val
val myfun=MyFunc();

fun main() {
   println("Example of Const-Val--->"+sName);
   println("Example of Val--->"+myfun);
}

fun MyFunc(): String {
   return "Hello Kotlin"
}

আউটপুট

একবার আপনি কোডটি কার্যকর করলে, এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Example of Const-Val--->tutorialspoint
Example of Val--->Hello Kotlin

  1. DirectX 11 এবং DirectX 12-এর মধ্যে পার্থক্য কী?

  2. const int*, const int * const, এবং int const * এর মধ্যে পার্থক্য কি?

  3. C# এ int এবং Int32 এর মধ্যে পার্থক্য কী?

  4. C# এ কীওয়ার্ড কনস্ট এবং রিডঅনলি মধ্যে পার্থক্য কী?