Kotlin-এ mutable এবং immutable ভেরিয়েবল ডিফাইন করার জন্য দুটি কিওয়ার্ড ব্যবহার করা হয়: var এবং val। এদের মাধ্যমে আপনি ভেরিয়েবলের মান পরিবর্তন করতে পারবেন কিনা সেটি নির্ধারণ করা হয়। নিচে আমি বিস্তারিতভাবে var এবং val নিয়ে আলোচনা করছি:
১. Mutable Variables (var)
- Mutable মানে হলো পরিবর্তনশীল। অর্থাৎ,
varদিয়ে ঘোষিত ভেরিয়েবলের মান পরিবর্তন করা যায়। - আপনি যখন একটি ভেরিয়েবলকে
varদিয়ে ডিফাইন করবেন, তখন পরে কোডে সেটির মান পরিবর্তন করা সম্ভব।
উদাহরণ:
var name = "Rahim"
println(name) // আউটপুট: Rahim
// ভেরিয়েবলের মান পরিবর্তন করা হচ্ছে
name = "Karim"
println(name) // আউটপুট: Karim
- উপরের উদাহরণে, প্রথমে
"Rahim"মান দেওয়া হয়েছে, তারপর"Karim"মান দিয়ে সেটি পরিবর্তন করা হয়েছে। এটাইvarএর বিশেষত্ব।
২. Immutable Variables (val)
- Immutable মানে অপরিবর্তনীয়। অর্থাৎ,
valদিয়ে ঘোষিত ভেরিয়েবলের মান পরিবর্তন করা যায় না। - একবার মান সেট করার পর, এটি পুনরায় পরিবর্তন করা সম্ভব নয়। এটি অনেকটা final ভেরিয়েবলের মতো কাজ করে।
উদাহরণ:
val country = "Bangladesh"
println(country) // আউটপুট: Bangladesh
// ভেরিয়েবলের মান পরিবর্তন করার চেষ্টা করলে এরর হবে
// country = "India" // এটি কমেন্ট করা হয়েছে কারণ এটি একটি কম্পাইল টাইম এরর দেবে
- উপরের উদাহরণে,
countryভেরিয়েবলটিvalদিয়ে ডিফাইন করা হয়েছে। একবার সেট করলে এটি পরিবর্তন করা যাবে না। যদি পরিবর্তন করার চেষ্টা করা হয়, তাহলে কম্পাইল টাইমে এরর দেখা দেবে।
var এবং val এর ব্যবহার:
var: যখন আপনি জানেন যে ভেরিয়েবলের মান পরিবর্তিত হতে পারে বা পরিবর্তন করতে হবে, তখনvarব্যবহার করা উচিত।val: যখন আপনি নিশ্চিত যে ভেরিয়েবলের মান একবার সেট করার পর পরিবর্তিত হবে না, তখনvalব্যবহার করা উচিত। এটি কোডের নিরাপত্তা এবং রিড-অনলি ভেরিয়েবল ডিফাইন করতে সহায়তা করে।
সংক্ষেপে পার্থক্য:
| বৈশিষ্ট্য | var | val |
|---|---|---|
| পরিবর্তনশীল | হ্যাঁ | না |
| ব্যবহারের ক্ষেত্র | মান পরিবর্তনযোগ্য হলে | মান অপরিবর্তনীয় হলে |
উদাহরণ:
fun main() {
var age = 25 // পরিবর্তনশীল ভেরিয়েবল
val birthYear = 1998 // অপরিবর্তনীয় ভেরিয়েবল
age = 26 // এটি কাজ করবে, কারণ `age` একটি mutable ভেরিয়েবল
// birthYear = 2000 // এটি এরর দেবে, কারণ `birthYear` একটি immutable ভেরিয়েবল
}
কোথায় var এবং val ব্যবহার করবেন?
- কাউন্টার বা লুপ ভেরিয়েবল হিসেবে
varব্যবহার করা যেতে পারে, কারণ তাদের মান পরিবর্তিত হয়। - কনফিগারেশন, রিড-অনলি ডেটা বা কনস্ট্যান্ট ভ্যালু (যা প্রোগ্রামের সময়কাল ধরে অপরিবর্তিত থাকে) সেট করতে
valব্যবহার করা হয়।
আশা করি var এবং val এর মধ্যে পার্থক্য এবং এদের ব্যবহার নিয়ে ধারণা পরিষ্কার হয়েছে। যদি আপনার আরও কোনো প্রশ্ন থাকে বা অন্য কোনো টপিক নিয়ে জানতে চান, আমাকে জানাবেন!
উপসংহার
Kotlin-এ ভেরিয়েবল ডিক্লেয়ার করার ক্ষেত্রে var এবং val একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। var ব্যবহার করা হয় যখন ভেরিয়েবলের মান পরিবর্তনযোগ্য হতে পারে, এবং এটি আপনাকে কোডে ফ্লেক্সিবিলিটি দেয়। অন্যদিকে, val ব্যবহার করা হয় যখন ভেরিয়েবলের মান একবার সেট করার পর অপরিবর্তনীয় থাকে, যা কোডের নিরাপত্তা নিশ্চিত করে এবং ভুল কমানোর ক্ষেত্রে সাহায্য করে। সঠিকভাবে var এবং val ব্যবহার করলে কোডের কার্যকারিতা