Swift-এ ক্লোজার এক্সপ্রেশন হলো এমন একটি ফাংশনাল কোড ব্লক যা ইনলাইনভাবে সংজ্ঞায়িত করা হয় এবং কোনো নির্দিষ্ট নাম ছাড়াই কাজ করতে পারে। এটি ফাংশনের মতো কাজ করে এবং উচ্চ-অর্ডার ফাংশনগুলির (যেমন map, filter, এবং reduce) সাথে ব্যবহার করা হয়। ক্লোজার এক্সপ্রেশন ফাংশনের সংক্ষিপ্ত এবং ইনলাইন ভার্সন হিসেবে কাজ করে, যা কোডকে আরও কমপ্যাক্ট ও সহজপাঠ্য করে তোলে।
ক্লোজার এক্সপ্রেশন উদাহরণ
let greeting = { (name: String) -> String in
return "Hello, \(name)!"
}
print(greeting("Alice")) // আউটপুট: "Hello, Alice!"
ইনলাইন ফাংশন উদাহরণ
let numbers = [1, 2, 3, 4, 5]
let doubled = numbers.map { $0 * 2 }
print(doubled) // আউটপুট: [2, 4, 6, 8, 10]
- এখানে,
{ $0 * 2 }একটি ইনলাইন ক্লোজার যা প্রতিটি উপাদানের গুণফল প্রদান করে।
ক্লোজার এক্সপ্রেশন সংক্ষেপ করা
Swift ক্লোজার এক্সপ্রেশনকে সংক্ষিপ্ত করার জন্য নিম্নলিখিত শর্তগুলো মেনে চলে:
- ইনলাইন প্যারামিটার নাম ব্যবহার: যেমন
$0,$1ইত্যাদি। - ইনফার টাইপ: Swift প্যারামিটারের টাইপ এবং রিটার্ন টাইপ স্বয়ংক্রিয়ভাবে নির্ধারণ করতে পারে, ফলে এগুলো বাদ দেয়া যায়।
- ইনফার রিটার্ন স্টেটমেন্ট: যদি ক্লোজারে একটি মাত্র এক্সপ্রেশন থাকে, তাহলে
returnবাদ দেয়া যায়।
সংক্ষেপিত উদাহরণ:
let numbers = [1, 2, 3, 4, 5]
let tripled = numbers.map { $0 * 3 }
print(tripled) // আউটপুট: [3, 6, 9, 12, 15]
ক্লোজার এক্সপ্রেশন বনাম ইনলাইন ফাংশন
- ক্লোজার এক্সপ্রেশন: নামহীন এবং ইনলাইন কোড ব্লক যা নির্দিষ্ট প্যারামিটার গ্রহণ করে এবং ফলাফল প্রদান করে।
- ইনলাইন ফাংশন: নামকৃত ফাংশনের বিকল্প হিসেবে ব্যবহৃত সংক্ষিপ্ত ফর্ম, যা কোডকে সহজপাঠ্য এবং ম্যানেজ করা সহজ করে।
ক্লোজার এক্সপ্রেশন এবং ইনলাইন ফাংশন Swift-এ প্রোগ্রামিং করার সময় কোড সংক্ষিপ্ত এবং কার্যকর রাখতে সহায়ক।
Content added By