ফাংশন
fn gcd(a: u32, b: u32) -> u32 { if b > 0 { gcd(b, a % b) } else { a } } fn main() { println!("gcd: {}", gcd(143, 52)); }
This slide should take about 3 minutes.
- ঘোষিত পরামিতির পরে তার টাইপ লাগানো হয়ে (এই জিনিস তা অনেক প্রোগ্রামিং ভাষার তুলনায় বিপরীত) এবং তার পরে একটি রিটার্ন টাইপ দেওয়া হয়ে।
- একটি ফাংশন বডি (বা যেকোনো ব্লক) এর শেষ অভিব্যক্তি সেটির ফেরতগামী মান হয়ে যায়। শুধু অভিব্যক্তির শেষে
;
বাদ দিন।return
কীওয়ার্ডটি প্রাথমিক রিটার্নের জন্য ব্যবহার করা যেতে পারে, কিন্তু একটি ফাংশনের শেষে "বেয়ার ভ্যালু" ফর্মটি বাগ্বৈশিষ্ট্যসম্মত (gcd
টাতেreturn
লাগিয়ে আবার লিখে দেখুন)। - অনেক ফাংশনের রিটার্ন টাইপ থাকে না এবং তারা 'একক বা ইউনিট টাইপ ' বা
()
রিটার্ন করে থাকে। কম্পাইলার এটি নিজে-নিজেই অনুমান করে নিতে পারবে যদি-> ()
রিটার্ন টাইপ বাদ দেওয়া হয়। - ওভারলোডিং সমর্থিত নয় -- প্রতিটি ফাংশনের শুধু একটি বাস্তবায়ন থাকতে পারে।
- সর্বদা একটি নির্দিষ্ট সংখ্যক পরামিতি লাগে। রেস্ট এ ডিফল্ট আর্গুমেন্ট সমর্থিত নয। ম্যাক্রো দিয়ে বৈচিত্র্যময় বা ভ্যারিয়াডিক ফাংশন ব্যবহার করা যেতে পারে।
- সর্বদা পরামিতির টাইপ একটি একক সেট-ই লাগে। এই টাইপগুলি জেনেরিক হতে পারে। জেনেরিক পরে আলোচনা করা হবে।