When expression (Switch এর বিকল্প)

Control Flow এবং শর্তাবলী - কটলিন (Kotlin) - Mobile App Development

412

Kotlin-এ when এক্সপ্রেশন হল Java-এর switch স্টেটমেন্টের একটি আরও শক্তিশালী এবং আরও ফ্লেক্সিবল বিকল্প। এটি কন্ডিশনাল লজিক বা শর্ত ভিত্তিক সিদ্ধান্ত গ্রহণে ব্যবহার করা হয় এবং এটি অনেক বেশি রিডেবল ও সংক্ষিপ্ত।

when এক্সপ্রেশনের সাধারণ কাঠামো:

when (expression) {
    value1 -> // code block
    value2 -> // code block
    else -> // default code block
}
  • expression: এটি একটি ভেরিয়েবল বা সরাসরি একটি এক্সপ্রেশন হতে পারে।
  • value1, value2: বিভিন্ন মান যা expression এর সাথে তুলনা করা হয়।
  • else: এটি ডিফল্ট ব্লক হিসেবে কাজ করে। যদি কোনো মান মেলে না, তাহলে else ব্লক এক্সিকিউট হয় (এটি switch এর default এর সমান)।

উদাহরণ ১: সাধারণ when এক্সপ্রেশন

fun main() {
    val day = 3

    val dayName = when (day) {
        1 -> "Sunday"
        2 -> "Monday"
        3 -> "Tuesday"
        4 -> "Wednesday"
        5 -> "Thursday"
        6 -> "Friday"
        7 -> "Saturday"
        else -> "Invalid Day"
    }

    println(dayName)  // আউটপুট: Tuesday
}
  • এখানে, day ভেরিয়েবলের মানের উপর ভিত্তি করে একটি দিন নির্ধারণ করা হচ্ছে। যদি কোনো মান না মেলে, তাহলে else ব্লকে "Invalid Day" রিটার্ন করবে।

উদাহরণ ২: একাধিক মান পরীক্ষা করা

  • when এক্সপ্রেশন একাধিক মান একসাথে চেক করতে পারে, যেমন:
fun main() {
    val number = 7

    when (number) {
        1, 3, 5, 7, 9 -> println("Odd Number")
        2, 4, 6, 8, 10 -> println("Even Number")
        else -> println("Not in the range")
    }
}

আউটপুট: Odd Number

এখানে number ভেরিয়েবলের মান একাধিক মানের (১, ৩, ৫, ৭, ৯) মধ্যে যদি মিলে যায়, তাহলে "Odd Number" প্রিন্ট করবে।

উদাহরণ ৩: রেঞ্জ বা ইন (in) অপারেটর ব্যবহার করে

  • when এক্সপ্রেশন রেঞ্জ চেক করার জন্যও ব্যবহার করা যায়:
fun main() {
    val score = 85

    when (score) {
        in 90..100 -> println("Excellent")
        in 75..89 -> println("Good")
        in 60..74 -> println("Pass")
        else -> println("Fail")
    }
}

আউটপুট: Good

এখানে, score এর মান যদি ৭৫ থেকে ৮৯ এর মধ্যে থাকে, তাহলে "Good" প্রিন্ট করবে।

উদাহরণ ৪: কন্ডিশন বা এক্সপ্রেশন ব্যবহার করা

  • when শুধু মান বা রেঞ্জ নয়, সরাসরি কন্ডিশন বা এক্সপ্রেশনও ব্যবহার করতে পারে:
fun main() {
    val x = -5

    when {
        x > 0 -> println("Positive Number")
        x < 0 -> println("Negative Number")
        else -> println("Zero")
    }
}

আউটপুট: Negative Number

এখানে, সরাসরি কন্ডিশনাল চেক করা হচ্ছে এবং কন্ডিশন অনুযায়ী আউটপুট দেখানো হচ্ছে।

when এক্সপ্রেশনের সুবিধা:

শক্তিশালী এবং ফ্লেক্সিবল: এটি শুধুমাত্র মানের সাথে তুলনা করে না, এক্সপ্রেশন এবং কন্ডিশনও চেক করতে পারে।

সাধারণ এবং রিডেবল: when এর ব্যবহার কোডকে আরও সংক্ষিপ্ত এবং রিডেবল করে তোলে।

রিটার্ন ভ্যালু: when একটি এক্সপ্রেশন হিসেবে কাজ করতে পারে, যা সরাসরি ভ্যালু রিটার্ন করতে পারে। এটি একটি ফাংশন বা ভেরিয়েবলের মধ্যে রিটার্ন ভ্যালু স্টোর করা যায়।

উদাহরণ:

val result = when (val grade = 85) {
    in 90..100 -> "A"
    in 80..89 -> "B"
    in 70..79 -> "C"
    else -> "F"
}
println(result)  // আউটপুট: B

উপসংহার

Kotlin-এর when এক্সপ্রেশন হল একটি অত্যন্ত শক্তিশালী কন্ডিশনাল স্টেটমেন্ট যা Java-এর switch স্টেটমেন্টের থেকে আরও বেশি ফ্লেক্সিবল এবং সহজবোধ্য। এটি একাধিক মান, রেঞ্জ, এবং কন্ডিশন এক্সপ্রেশনের উপর ভিত্তি করে কাজ করতে পারে, যা কোডকে আরও সংক্ষিপ্ত এবং পরিষ্কার করে। যদি আপনি কোডের ফ্লেক্সিবিলিটি ও রিডেবিলিটি বাড়াতে চান, তাহলে when এক্সপ্রেশন ব্যবহার করার পরামর্শ দেওয়া হয়।

 

Content added By
Promotion

Are you sure to start over?

Loading...