Kotlin when Statement vs when Expression

 

🎯 Kotlin when Statement vs when Expression (Brain-Friendly Way!)

🧠 when মানে কী?

👉 ভাবুন, আপনি একটা রেস্টুরেন্টে গেছেন! 🍔🍕

  • আপনি বললেন "Pizza", তাহলে তারা Pizza বানাবে! 🍕
  • আপনি বললেন "Burger", তাহলে তারা Burger বানাবে! 🍔
  • আপনি বললেন "Coffee", তাহলে তারা Coffee বানাবে! ☕

🔹 ঠিক সেভাবে when কাজ করে!
👉 একটা ভ্যালু বা শর্ত চেক করে, তারপর যে অপশন মিলে যায় সেটা চালায়!


🚀 when Statement (যখন কিছু চেক করব, কিন্তু কোনো ভ্যালু রিটার্ন করবো না!)

👉 when শুধু কিছু চেক করবে, কিন্তু কোনো মান ফেরত দেবে না!

val food = "Pizza"

when (food) {
    "Pizza" -> println("Here is your Pizza 🍕")
    "Burger" -> println("Here is your Burger 🍔")
    "Coffee" -> println("Here is your Coffee ☕")
    else -> println("Sorry, we don’t have that! 😔")
}

এখানে when শুধুমাত্র কাজ করছে, কিন্তু কোনো মান ফেরত দিচ্ছে না!


🎯 when Expression (যখন when কোনো মান রিটার্ন করবে!)

👉 এখানে when নিজেই একটা মান রিটার্ন করবে!

val food = "Pizza"

val message = when (food) {
    "Pizza" -> "Enjoy your Pizza 🍕"
    "Burger" -> "Enjoy your Burger 🍔"
    "Coffee" -> "Enjoy your Coffee ☕"
    else -> "Sorry, we don’t have that! 😔"
}

println(message)  // Output: Enjoy your Pizza 🍕

এখানে when নিজেই message ভ্যারিয়েবলে মান রিটার্ন করছে!


🎯 Difference Between when Statement & when Expression

Feature when Statement when Expression
কাজ কী? শুধুমাত্র কিছু চেক করে, কিছু রিটার্ন করে না চেক করার পাশাপাশি মান রিটার্নও করে
ব্যবহার কোথায়? যখন শুধু কাজ চালাতে চাই (প্রিন্ট, ফাংশন কল, ইত্যাদি) যখন রেজাল্ট বের করতে চাই (ফাংশনে রিটার্ন করা, ভ্যারিয়েবলে স্টোর করা)
Return Value? না! কোনো মান রিটার্ন করে না হ্যাঁ! একটি মান রিটার্ন করে
Example when(food) { "Pizza" -> println("Pizza") } val msg = when(food) { "Pizza" -> "Enjoy Pizza" }

🚀 Example with Functions (Statement vs Expression)

🎯 1️⃣ when Statement (Only Executes, Doesn't Return)

fun printFood(food: String) {
    when (food) {
        "Pizza" -> println("You ordered Pizza 🍕")
        "Burger" -> println("You ordered Burger 🍔")
        else -> println("Unknown order! 😕")
    }
}

printFood("Pizza")  // Output: You ordered Pizza 🍕

এই when শুধু প্রিন্ট করছে, কোনো মান রিটার্ন করছে না!


🎯 2️⃣ when Expression (Returns a Value)

fun getFoodMessage(food: String): String {
    return when (food) {
        "Pizza" -> "Enjoy your Pizza 🍕"
        "Burger" -> "Enjoy your Burger 🍔"
        else -> "Sorry, we don’t have that! 😔"
    }
}

val message = getFoodMessage("Pizza")
println(message)  // Output: Enjoy your Pizza 🍕

এই when একটি মান রিটার্ন করছে, যা message ভ্যারিয়েবলে স্টোর হয়েছে!


🚀 সংক্ষেপে when Statement vs when Expression:

when Statement:

  • শুধু কাজ করে (প্রিন্ট, লজিক চালানো), কিন্তু কোনো মান রিটার্ন করে না
  • উদাহরণ:
    when (value) {
        "A" -> println("A Selected")
        else -> println("Something else")
    }
    

when Expression:

  • কোনো মান রিটার্ন করে
  • উদাহরণ:
    val result = when (value) {
        "A" -> "A Selected"
        else -> "Something else"
    }
    

🎯 এখন আপনি Kotlin when Statement vs Expression মাস্টার! 🏆

👉 তাহলে এবার কোড প্র্যাকটিস শুরু করে দিন! 😎🔥

Comments

Popular posts from this blog

AI (Artificial Intelligence) সহজভাবে বোঝার জন্য একদম মস্তিষ্ক-বান্ধব ব্যাখ্যা 🧠🤖

🧠 Regex কী?

Kotlin-এ ভেরিয়েবল ঘোষণা করার দুই উপায়