ইফ/এলস

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

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 ভ্যারিয়েবলটি এ্যাক্সেস করা যাচ্ছে। আউটপুট:

9 has 1 digit

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

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