Swift-এ এনাম (Enum) এবং এর ব্যবহার
Swift-এ এনাম (Enumeration বা Enum) হলো একটি ডেটা টাইপ যা একগুচ্ছ নির্দিষ্ট মান সংজ্ঞায়িত করে। এনাম সাধারণত এমন পরিস্থিতিতে ব্যবহৃত হয় যেখানে ভিন্ন ভিন্ন সম্ভাব্য মানের একটি নির্দিষ্ট তালিকা প্রয়োজন। এটি প্রোগ্রামের স্টেট, কন্ডিশন, বা অপশন নির্দেশ করতে ব্যবহৃত হয়।
এনাম ডিক্লেয়ারেশন
এনাম ডিক্লেয়ার করতে enum কীওয়ার্ড ব্যবহার করা হয়, এবং এর ভেতরে case দিয়ে প্রতিটি সম্ভাব্য মান নির্ধারণ করা হয়।
enum CompassDirection {
case north
case south
case east
case west
}
- এখানে
CompassDirectionনামের একটি এনাম রয়েছে, যা চারটি মান সংজ্ঞায়িত করে:.north,.south,.east, এবং.west।
এনাম ভেরিয়েবল ডিক্লেয়ার এবং ব্যবহার
var direction = CompassDirection.north
switch direction {
case .north:
print("Heading North")
case .south:
print("Heading South")
case .east:
print("Heading East")
case .west:
print("Heading West")
}
- এনাম ব্যবহারের সময় ডট নোটেশন (
.north) ব্যবহার করা যায়।
অ্যাসোসিয়েটেড ভ্যালুসমূহ
Swift-এ, এনাম প্রতিটি কেসের সাথে অ্যাসোসিয়েটেড ভ্যালু ধারণ করতে পারে। এটি ব্যবহার করে প্রতিটি কেসের সাথে অতিরিক্ত তথ্য যোগ করা যায়।
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}
let productCode = Barcode.upc(8, 85909, 51226, 3)
- এখানে,
Barcodeএনামের দুটি কেস রয়েছে—একটিupcযা চারটিIntমান ধারণ করে এবং একটিqrCodeযা একটিStringধারণ করে।
র অ্যান্ড স্টোরড প্রপার্টি (Raw Value)
এনাম প্রত্যেকটি কেসে একটি raw value ধারণ করতে পারে, যা কেসগুলির ডিফল্ট ভ্যালু হিসেবে কাজ করে।
enum Planet: Int {
case mercury = 1, venus, earth, mars
}
let earthPosition = Planet.earth.rawValue // আউটপুট: 3
- এখানে,
Planetএনাম প্রতিটি কেসে একটি ইন্টিজার মান ধারণ করে।
এনামের সুবিধা
- কোড পাঠযোগ্যতা বাড়ায়: বিভিন্ন স্টেট বা অপশন পরিষ্কারভাবে বুঝতে সাহায্য করে।
- টাইপ সেফটি: নির্দিষ্ট মানের বাইরে অন্য কিছু সেট করা সম্ভব নয়, ফলে কমন বাগ প্রতিরোধ হয়।
- সংগঠিত ডেটা: এনাম ব্যবহার করে কোডে ডেটা স্ট্রাকচার করা সহজ হয়।
ব্যবহারিক উদাহরণ
enum LightState {
case red, yellow, green
}
func trafficSignal(state: LightState) {
switch state {
case .red:
print("Stop")
case .yellow:
print("Prepare to stop")
case .green:
print("Go")
}
}
trafficSignal(state: .red) // আউটপুট: "Stop"
সংক্ষেপে
Swift-এ এনাম ব্যবহার করে একগুচ্ছ নির্দিষ্ট মান সংজ্ঞায়িত করা যায়, যা প্রোগ্রামের স্টেট বা কন্ডিশন নির্দেশ করতে এবং টাইপ সেফটি বজায় রাখতে সাহায্য করে। এটি প্রোগ্রামের পাঠযোগ্যতা এবং সুরক্ষা বাড়ায়।
Read more