Go:
ত্রুটিগুলি মেনে নেওয়া

কিভাবে:

Go ভাষায়, ত্রুটি সম্পর্কিত সমাধানকে স্পষ্টভাবে error টাইপ ব্যবহার করে পরিচালিত করা হয়। ব্যর্থ হতে পারে এমন ফাংশনগুলি তাদের শেষ রিটার্ন মান হিসাবে একটি ত্রুটি ফিরিয়ে দেয়। এই ত্রুটি মানটি যদি nil হয় তা পরীক্ষা করলে বোঝা যায় যে কোনো ত্রুটি ঘটেছে কি না।

package main

import (
    "errors"
    "fmt"
)

func Compute(value int) (int, error) {
    if value > 100 {
        return 0, errors.New("value must be 100 or less")
    }
    return value * 2, nil
}

func main() {
    result, err := Compute(150)
    if err != nil {
        fmt.Println("Error:", err)
    } else {
        fmt.Println("Result:", result)
    }
    
    // একটি ত্রুটি সুন্দরভাবে সমাধান করা
    anotherResult, anotherErr := Compute(50)
    if anotherErr != nil {
        fmt.Println("Error:", anotherErr)
    } else {
        fmt.Println("Result:", anotherResult)
    }
}

উপরের কোডের জন্য নমুনা আউটপুট:

Error: value must be 100 or less
Result: 100

এই উদাহরণে, Compute ফাংশন হয় একটি গণিত মান অথবা একটি ত্রুটি রিটার্ন করে। কলার err যদি nil না হয় তাহলে তা পরীক্ষা করে ত্রুটিটি সম্পর্কে জানতে পারে।

গভীর ডুব

Go ভাষার ত্রুটি সমাধানের দৃষ্টিভঙ্গি সজ্ঞানে সরল এবং টাইপ-নিরাপদ, যা ত্রুটিগুলির স্পষ্ট পরীক্ষা করে। এই ধারণা জাভা এবং পাইথনের মতো ভাষাগুলিতে দেখা যায় এমন ব্যতিক্রম ভিত্তিক ত্রুটি সমাধানের সাথে বিপরীত, যেখানে ত্রুটিগুলি যদি ব্যতিক্রম হ্যান্ডলার দ্বারা ধরা না পড়ে তবে কল স্ট্যাক আপ প্রসারিত করা হয়। Go টিম যুক্তি দেয় যে ত্রুটিগুলির স্পষ্ট সমাধান করা আরও স্পষ্ট এবং বিশ্বাসযোগ্য কোডে ফল দেয়, এটি প্রোগ�