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

কোটলিনে const এবং val এর পার্থক্য

const কীওয়ার্ড

const কীওয়ার্ড কোটলিনে তখন ব্যবহার করা হয় যখন ভেরিয়েবলের মান একটি অ্যাপ্লিকেশনের সমগ্র জীবনচক্রে const (অপরিবর্তনীয়) থাকে। এর মানে হল const শুধুমাত্র ক্লাসের অপরিবর্তনীয় বৈশিষ্ট্যে প্রযোজ্য। সহজ শব্দে, ক্লাসের রিড-অনلي (read-only) বৈশিষ্ট্য ঘোষণা করতে const ব্যবহার করুন।

const ভেরিয়েবলের কিছু সীমাবদ্ধতা রয়েছে:

  • const শুধুমাত্র ক্লাসের অপরিবর্তনীয় বৈশিষ্ট্যে প্রযোজ্য।

  • এটি কোনো ফাংশন বা ক্লাস কনস্ট্রাক্টরে অ্যাসাইন করা যাবে না। এটি প্রাইমিটিভ ডেটা টাইপ বা String-এ অ্যাসাইন করা উচিত।

  • const ভেরিয়েবল কম্পাইল-টাইমে আরম্ভ হয়।

উদাহরণ ১: const ব্যবহার

const val sName = "tutorialspoint"
// এই লাইনটি ত্রুটি দেবে কারণ const কোনো ফাংশন কলের সাথে ব্যবহার করা যাবে না
// const val myFun = MyFunc()

fun main() {
    println("Const-Val এর উদাহরণ ---> " + sName)
}

আউটপুট

Const-Val এর উদাহরণ ---> tutorialspoint

val কীওয়ার্ড

কোটলিনে, valও ভেরিয়েবল ঘোষণা করতে ব্যবহৃত হয়। "val" এবং "const val" উভয়ই ক্লাসের রিড-অনلي বৈশিষ্ট্য ঘোষণা করতে ব্যবহৃত হয়। const দিয়ে ঘোষিত ভেরিয়েবলগুলো রানটাইমে আরম্ভ হয়।

  • val ক্লাসের অপরিবর্তনীয় বৈশিষ্ট্যের সাথে কাজ করে, অর্থাৎ শুধুমাত্র রিড-অনلی ভেরিয়েবল val দিয়ে ঘোষণা করা যায়।

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

  • val-এর জন্য বিষয়বস্তু মিউট করা যায়, কিন্তু const val-এর জন্য বিষয়বস্তু মিউট করা যায় না।

উদাহরণ ২: val দিয়ে ফাংশন পাস করা

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

const val sName = "tutorialspoint"
// val ব্যবহার করে ফাংশন পাস করা যাবে
val myfun = MyFunc()

fun main() {
    println("Const-Val এর উদাহরণ ---> " + sName)
    println("Val এর উদাহরণ ---> " + myfun)
}

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

আউটপুট

Const-Val এর উদাহরণ ---> tutorialspoint
Val এর উদাহরণ ---> Hello Kotlin
  1. DirectX 11 এবং DirectX 12-এর পার্থক্য কী?

  2. C++-এ const int*, const int* const, int const* পার্থক্য

  3. C#-তে int এবং Int32-এর পার্থক্য

  4. C#-এ const এবং readonly কীওয়ার্ডের পার্থক্য