Vivasoft-logo

Parameters

একটি ফাংশনে যেকোনো সংখ্যাক রিকুইরেড পজিশনাল পেরামিটার্স থাকতে পারে । এগুলি হয় Named প্যারামিটার বা অপশনাল Named পেরামিটার দ্বারা অনুসরণ করা যেতে পারে (কিন্তু উভয়ই নয়)।

Named parameters:

Named প্যারামিটারগুলি অপশনাল যদি না সেগুলিকে required হিসাবে চিহ্নিত করা হয়। একটি ফাংশন ডিফাইন করার সময়, Named প্যারামিটারগুলি স্পেসিফাই করতে {param1, param2, …} ব্যবহার করুন। আপনি যদি একটি ডিফল্ট ভ্যালু প্রদান না করেন বা Named প্যারামিটার রিকুইরিড চিহ্নিত না করেন তবে তাদের টাইপ অবশ্যই null হতে হবে কারণ তাদের ডিফল্ট ভ্যালু null হবে:

void enableFlags({bool? bold, bool? hidden}) {...}
 

একটি ফাংশন কল করার সময়, আপনি paramName: value ব্যবহার করে Named আর্গুমেন্টগুলি স্পেসিফাই করতে পারেন। উদাহরণ স্বরূপ:

enableFlags(bold: true, hidden: false);
 

null ছাড়াও একটি Named প্যারামিটারের জন্য একটি ডিফল্ট মান ডিফাইন করা যায় , একটি ডিফল্ট ভ্যালু এসাইন করতে = অপারেটর ব্যবহার করুন। ডিফল্ট ভ্যালু অবশ্যই একটি কম্পাইল-টাইম কনস্ট্যান্ট হতে হবে। উদাহরণ স্বরূপ: \

/// Sets the [bold] and [hidden] flags ...
void enableFlags({bool bold = false, bool hidden = false}) {...}

// bold will be true; hidden will be false.
enableFlags(bold: true);
 

আপনি যদি এর পরিবর্তে একটি Named প্যারামিটার বাধ্যতামূলক করতে চান, যাতে কল করার সময় প্যারামিটারের জন্য একটি ভ্যালু প্রদান করতে হয়, তাদের required হিসেবে anotate করুন:

const Scrollbar({super.key, required Widget child});
 

Optional positional parameters :

ফাংশন প্যারামিটারের একটি সেট [] থাকলে তাদের অপশনাল পজিশনাল প্যারামিটার হিসাবে চিহ্নিত করে। আপনি যদি একটি ডিফল্ট মান প্রদান না করেন, তাহলে তাদের টাইপ অবশ্যই nullable হতে হবে কারণ তাদের ডিফল্ট মান null হবে:

String say(String from, String msg, [String? device]) {
  var result = '$from says $msg';
  if (device != null) {
    result = '$result with a $device';
  }
  return result;
}
 

এখানে অপশনাল প্যারামিটার ছাড়া এই ফাংশন কল করার একটি উদাহরণ:

assert(say('Bob', 'Howdy') == 'Bob says Howdy');
 

এবং এখানে তৃতীয় প্যারামিটারের সাথে এই ফাংশনটিকে কল করার একটি উদাহরণ:

assert(say('Bob', 'Howdy', 'smoke signal') ==
    'Bob says Howdy with a smoke signal');
 

Null ছাড়াও অপশনাল পজিশনাল প্যারামিটারের জন্য একটি ডিফল্ট মান স্পেসিফাই করতে = অপারেটর ব্যবহার করুন। ডিফল্ট মান অবশ্যই একটি কম্পাইল-টাইম কনস্ট্যান্ট হতে হবে। উদাহরণ স্বরূপ:

String say(String from, String msg, [String device = 'carrier pigeon']) {
  var result = '$from says $msg with a $device';
  return result;
}

assert(say('Bob', 'Howdy') == 'Bob says Howdy with a carrier pigeon');