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

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

ওভারভিউ

কোটলিনে, আমরা দুটি ভিন্ন কীওয়ার্ড ব্যবহার করে ভেরিয়েবল ঘোষণা করতে পারি: একটি হল var এবং অন্যটি হল val। এই নিবন্ধে, আমরা একটি উদাহরণ लेकर দেখাব এই দুটি ঘোষণা একে অপরের থেকে কীভাবে আলাদা।

গুণাবলী var val
ঘোষণা var varName = "hello World" val sName = "tutorialspoint.com"
অপরিবর্তনীয়তা পরিবর্তনশীল (Mutable) অপরিবর্তনীয় (Immutable)
ভেরিয়েবল কতবার অ্যাসাইন করা যায় একাধিকবার অ্যাসাইন করা যায়। একাধিকবার অ্যাসাইন করা যায় না।
পুনঃ অ্যাসাইন করা যায় কিনা পুনঃ অ্যাসাইন করা যায়। পুনঃ অ্যাসাইন করা যায় না।

উদাহরণ ১

নিচের উদাহরণে, আমরা দেখব কিভাবে "val" এবং "var" ব্যবহার করে দুটি ভিন্ন ভেরিয়েবল ঘোষণা করা যায়। আমরা দেখতে পাব যে var দিয়ে ঘোষিত ভেরিয়েবলটি পরিবর্তন করা যায়, কিন্তু val দিয়ে ঘোষিত ভেরিয়েবলটি পুনঃ অ্যাসাইন করা যায় না এবং রানটাইমে "Val cannot be reassigned." ত্রুটি দেখাবে।

val sName = "tutorialspoint"
var varName = "hello World"

fun main() {
    println("val এর উদাহরণ ---> " + sName)
    println("var এর উদাহরণ ---> " + varName)

    // var দিয়ে ঘোষিত ভেরিয়েবল পরিবর্তনশীল
    varName = "নতুন মান"
    println("var দিয়ে ঘোষিত ভেরিয়েবলের নতুন মান: " + varName)
}

আউটপুট

val এর উদাহরণ ---> tutorialspoint
var এর উদাহরণ ---> hello World
var দিয়ে ঘোষিত ভেরিয়েবলের নতুন মান: নতুন মান

উদাহরণ ২: val পরিবর্তন করার চেষ্টা

এখন, val দিয়ে ঘোষিত ভেরিয়েবলের মান পরিবর্তন করার চেষ্টা করি:

val sName = "tutorialspoint"
var varName = "hello World"

fun main() {
    println("val এর উদাহরণ ---> " + sName)
    println("var এর উদাহরণ ---> " + varName)

    // val দিয়ে ঘোষিত ভেরিয়েবল পরিবর্তনশীল নয়
    sName = "নতুন মান"
    println("val দিয়ে ঘোষিত ভেরিয়েবলের নতুন মান: " + sName)
}

আউটপুট

রানটাইমে ত্রুটি দেখাবে:

main.kt:9:5: error: val cannot be reassigned
sName = "নতুন মান";
^
  1. DirectX 11 এবং DirectX 12-এর পার্থক্য কী?

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

  3. C#-এ var এবং dynamic কীওয়ার্ডের পার্থক্য

  4. C#-এ List এবং Dictionary-এর পার্থক্য