Return Values এবং Named Return Parameters

Functions in Go (ফাংশনস) - গো প্রোগ্রামিং (Go Programming) - Computer Programming

286

Return Values এবং Named Return Parameters

Go প্রোগ্রামিং ভাষায় ফাংশনগুলি কেবলমাত্র আর্গুমেন্ট গ্রহণই করে না, বরং ফলস্বরূপ (return) মানও প্রদান করে। Go তে Return Values এবং Named Return Parameters এর মাধ্যমে আপনি ফাংশনের আউটপুট কিভাবে পরিচালনা করবেন তা নির্ধারণ করতে পারবেন।


১. Return Values

ফাংশনের Return Values হল সেই মান যা ফাংশন সম্পন্ন করার পর প্রদান করে। ফাংশনের মাধ্যমে এক বা একাধিক মান ফিরিয়ে দেওয়া যায়। এটি ফাংশনের আউটপুট হিসেবে কাজ করে।

উদাহরণ:

package main

import "fmt"

// একটি ফাংশন যা দুটি সংখ্যার যোগফল প্রদান করে
func add(a int, b int) int {
    return a + b
}

func main() {
    sum := add(3, 5)
    fmt.Println("Sum:", sum)  // আউটপুট: Sum: 8
}

এখানে, add ফাংশনটি দুটি ইনপুট নেয় (a এবং b) এবং তাদের যোগফল প্রদান করে। return a + b স্টেটমেন্টটি ফাংশনটির আউটপুট হিসাবে a + b প্রদান করছে।

একাধিক Return Values:

Go তে একটি ফাংশন একাধিক মানও ফিরিয়ে দিতে পারে।

উদাহরণ:

package main

import "fmt"

// একটি ফাংশন যা দুটি সংখ্যা এবং তাদের যোগফল ফিরিয়ে দেয়
func calculate(a int, b int) (int, int) {
    sum := a + b
    diff := a - b
    return sum, diff
}

func main() {
    total, difference := calculate(10, 5)
    fmt.Println("Sum:", total)        // আউটপুট: Sum: 15
    fmt.Println("Difference:", difference) // আউটপুট: Difference: 5
}

এখানে, calculate ফাংশনটি দুটি মান ফিরিয়ে দেয়: sum এবং diff। ফাংশন কল করার পর দুটি মান আলাদা আলাদা ভেরিয়েবলে স্টোর করা হয়।


২. Named Return Parameters

Go-তে Named Return Parameters হল একটি ফিচার যা ফাংশনের রিটার্ন মানকে নাম সহ সংজ্ঞায়িত করতে সহায়ক। এর মাধ্যমে আপনি ফাংশনের আউটপুটের মানকে ফাংশনের মধ্যে নামের মাধ্যমে রেফারেন্স করতে পারেন। নামকৃত রিটার্ন প্যারামিটারগুলি সাধারণত return স্টেটমেন্টে প্যারামিটারগুলির মান প্রদান না করলেও স্বয়ংক্রিয়ভাবে রিটার্ন করা হয়।

উদাহরণ:

package main

import "fmt"

// একটি ফাংশন যেখানে নামকৃত রিটার্ন প্যারামিটার ব্যবহার করা হচ্ছে
func calculate(a int, b int) (sum int, diff int) {
    sum = a + b       // নামকৃত রিটার্ন প্যারামিটার ব্যবহার
    diff = a - b      // নামকৃত রিটার্ন প্যারামিটার ব্যবহার
    return            // return না দেওয়াও সম্ভব, ফাংশন নামকৃত প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে রিটার্ন করবে
}

func main() {
    total, difference := calculate(10, 5)
    fmt.Println("Sum:", total)        // আউটপুট: Sum: 15
    fmt.Println("Difference:", difference) // আউটপুট: Difference: 5
}

এখানে, sum এবং diff নামকৃত রিটার্ন প্যারামিটার হিসেবে ব্যবহৃত হয়েছে। ফাংশনের মধ্যে তারা মান অ্যাসাইন করা হয়েছে, এবং return স্টেটমেন্টে কোন মান উল্লেখ না করলেও তারা স্বয়ংক্রিয়ভাবে রিটার্ন হবে।

Named Return Parameters এর সুবিধা:

  • কোডের পাঠযোগ্যতা বৃদ্ধি পায়, কারণ আপনি রিটার্ন মানের উদ্দেশ্য বা ভূমিকা সহজে বুঝতে পারেন।
  • ফাংশনের শেষে return লেখার সময় মান উল্লেখ না করেও আউটপুট পাওয়া যায়, কারণ নামকৃত প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে রিটার্ন হয়ে যায়।

৩. Unnamed vs Named Return Parameters

Unnamed Return Parameters:

func add(a int, b int) int {
    return a + b
}
  • এখানে ফাংশনটি একটি int রিটার্ন মান প্রদান করে।
  • ফাংশন শেষে return a + b দ্বারা শুধু মান রিটার্ন করা হয়।

Named Return Parameters:

func add(a int, b int) (sum int) {
    sum = a + b
    return
}
  • এখানে sum নামকৃত রিটার্ন প্যারামিটার ব্যবহার করা হয়েছে।
  • ফাংশন শেষে return শুধুমাত্র দেওয়া হয়েছে এবং এটি sum রিটার্ন করবে, কারণ sum নামকৃত প্যারামিটারটি ফাংশনের আউটপুট হিসেবে স্বয়ংক্রিয়ভাবে রিটার্ন হয়।

সারসংক্ষেপ

ধরনব্যবহারউদাহরণ
Return Valuesফাংশন থেকে মান ফেরত দেওয়া।func add(a, b int) int { return a + b }
Named Return Parametersফাংশনের রিটার্ন মানের জন্য নামকৃত প্যারামিটার ব্যবহার।func add(a, b int) (sum int) { sum = a + b; return }
  • Return Values: ফাংশনগুলো এক বা একাধিক মান ফিরিয়ে দেয় এবং প্রতিটি মানকে ফাংশনের বাইরে ব্যবহার করা যায়।
  • Named Return Parameters: নামকৃত প্যারামিটারগুলি ফাংশনের রিটার্ন মান হিসাবে স্বয়ংক্রিয়ভাবে ফিরে আসে এবং এগুলো কোডের পাঠযোগ্যতা বৃদ্ধি করে।

এই দুটি ধারণার মাধ্যমে আপনি Go ফাংশনগুলিকে আরও কার্যকরীভাবে ব্যবহার করতে পারবেন এবং কোডের পরিষ্কারতা ও ব্যবস্থাপনা উন্নত করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...