ホームページ  >  記事  >  バックエンド開発  >  golang 関数ではエラー処理はどのように実装されていますか?

golang 関数ではエラー処理はどのように実装されていますか?

WBOY
WBOYオリジナル
2024-06-03 11:21:57418ブラウズ

Go 言語での関数エラー処理は、エラー インターフェイス タイプのエラーを返すことによって実装されます。 1. 組み込みエラー インターフェイス タイプの Error() メソッドは、エラーの説明文字列を返します。 2. if err != nil を比較してエラーが空かどうかを確認し、エラーを処理します。 3. エラー処理は、ファイルの読み取りやデータベースのクエリなどの実用的なアプリケーションに適しています。

golang 関数ではエラー処理はどのように実装されていますか?

Go言語での関数エラー処理の実装

Go言語では、エラーを説明する文字列を返すerror 接口类型的错误,表示函数的执行失败。错误处理是通过调用内建的 error 接口类型的 Error()メソッドを返すことで関数を実装できます。

コード例:

以下はエラー処理の簡単な例です:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("division by zero") // 返回错误
    }
    return a / b, nil // 返回结果和 nil(无错误)
}

func main() {
    result, err := divide(10, 2)
    if err != nil {
        fmt.Println("Error:", err.Error()) // 处理错误
    } else {
        fmt.Printf("Result: %d\n", result)
    }
}

実際のケース:

ファイルの読み取り:

func readFile(filename string) ([]byte, error) {
    data, err := ioutil.ReadFile(filename)
    if err != nil {
        return nil, errors.New("could not read file: " + filename)
    }
    return data, nil
}

データベースクエリ:

func queryDatabase(query string) (*sql.Rows, error) {
    rows, err := db.Query(query)
    if err != nil {
        return nil, errors.New("could not execute query: " + query)
    }
    return rows, nil
}

以上がgolang 関数ではエラー処理はどのように実装されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。