GoogleのGoチームは試さないことを決定

Table of Contents

GoogleのGoチームは試さないことを決定

Go 言語では、バージョン 1.14 で提案された主要な部分であるにもかかわらず、次のメジャー バージョンでは「try」キーワードは追加されません。

Googleが開発したオープンソース言語であるGoは、静的型付けとネイティブコードコンパイルを特徴としています。Redmonkのランキングによると、最も人気のある言語の15位前後にランクされています。

ifGo におけるエラー処理は現在、返されたエラー値と を比較するステートメントに基づいていますnil。 であればnil、エラーは発生していません。そのため、開発者は多くのifステートメントを記述する必要があります。

「一般的に、Go プログラムではコードチェックのエラーが多すぎて、それを処理するコードが足りない」と、Google の主席エンジニアである Russ Cox 氏は、Go のエラー処理問題の概要の中で書いている。

tryそのため、多くの文を削除し、エラーが検出された場合関数から return をトリガーする組み込み関数を追加するという提案がありました。この提案は、Go で既に および関数ifによって実現されている完全な例外処理を実現するものではありませんでした。panicrecover

この提案は廃案となりました。囲碁のオリジナル設計者の一人であるロバート・グリーズマー氏が昨日の投稿でこの決定を発表しました。

コミュニティからの圧倒的な反響とここでの広範な議論に基づき、この提案は予定より早く却下されました。技術的なフィードバックとしては、この議論により、私たちが見落としていた重要な考慮事項、特にデバッグ出力の追加とコードカバレッジ分析への影響が明らかになりました。

さらに重要なのは、この提案は価値のある問題に対処していないと主張する多くの人々の声をはっきりと聞き取ったということです。Goのエラー処理は完璧ではなく、有意義な改善の余地があると私たちは依然として信じていますが、エラー処理のどの側面が対処すべき問題なのかについて、コミュニティとしてもっと議論する必要があることは明らかです。

何が問題だったのでしょうかtry? Go コミュニティ内の意見は分かれていますが、多くの Go プログラマーは現在のアプローチを気にしておらず、制御フローを変更する新しい組み込み関数の導入を好まなかったことが明らかになりました。

「関数の終了ポイントを return ではなく、一般的なものとして作成すると、コードの可読性が大幅に低下する可能性があります」と、あるユーザーは述べています。

Google、写真はlightpoet、Shutterstockより

GoogleなしでGoと言うことはできない、特に私たちの小さなロゴなしでは、チョコレートファクトリーは主張する。

続きを読む

Goコミュニティが大きな提案を、不満なく提案し、撤回できたという点で、結果は良好と言えるでしょう。エラー処理に関しては、チームが、うーん、もう一度トライするだろうことは間違いありません。®

Discover More