ইফ/এলস

Last updated last month

অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজের মতই গো তে ইফ এলস কাজ করে । একটা সিম্পল উদাহরন দেখি:

if 7%2 == 0 {
fmt.Println("7 is even")
} else {
fmt.Println("7 is odd")
}

আগে ফর চ্যাপ্টারে দেখেছি গো তে কন্ডিশন ব্র্যাকেটের রাখার প্রয়োজন পড়ে না । ইফ এলস এর বেলায়ও তাই । ইফ স্টেটমেন্টের পর সরাসরি আমরা কন্ডিশন লিখে দেই । ব্র্যাকেটের প্রয়োজন নেই ।

আমরা চাইলে ইফ স্টেটমেন্ট এর পর এবং মূল কন্ডিশনের আগে আমাদের প্রয়োজনমত অন্য কোন এক্সপ্রেশন ব্যবহার করতে পারি । এখানে ডিক্লেয়ার করা কোন ভ্যারিয়েবল ইফ-এলস এর সকল ব্র্যানচ এ এ্যাক্সেসিবল হবে ।

if num := 9; num < 0 {
fmt.Println(num, "is negative")
} else if num < 10 {
fmt.Println(num, "has 1 digit")
} else {
fmt.Println(num, "has multiple digits")
}

এখানে আমাদের মূল কন্ডিশন হলো num < 0 কিন্তু তার আগে আমরা num এর ভ্যালু 9 সেট করে নিয়েছি । লক্ষ্য করুন সব গুলো ব্লকেই কিন্তু num ভ্যারিয়েবলটি এ্যাক্সেস করা যাচ্ছে ।

এই উদাহরনে আমরা else if এর ব্যবহার ও দেখলাম । একাধিক কন্ডিশন চেক করার জন্য আমরা ইফ এর সাথে এই এলস-ইফ ব্যবহার করি ।

গো তে টার্নারী অপারেটর এর কনসেপ্ট নেই, তাই যত সংক্ষিপ্ত লজিকই হোক, পুরো ইফ-এলস ব্লক লিখতে হবে, কোন শর্টকাট নেই ।