ওভারভিউ
কোটলিনে, আমরা দুটি ভিন্ন কীওয়ার্ড ব্যবহার করে ভেরিয়েবল ঘোষণা করতে পারি: একটি হল 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 = "নতুন মান"; ^