→様々なプログラム言語
- なぜGo言語はエラー返却に例外機構を使わないのか 2020.2
- 例外機構が欲しい場面は Go 言語の他の機能でカバーできそう
- 例外機構によるエラー返却では、関数の出口が増えるため制御フローが複雑になる
- エラー値返却の手段としての例外機構は、並行プログラムにそぐわない
- Go言語の他の機能というのは多値返却、goto、defer、panic、recover
- Google Go登場の背景
- 関数内に複数のreturnを書くことができない。
- Goの主要な特徴である極めて高速なコンパイルは、近時の言語からするとストイックと思える文法を採用することによって実現されている。この点で、Goは徹底しており、モダンな言語ならば必須の要素と思われる機能がばっさりと切り落とされている。
- オブジェクト指向言語に欠かせない要素と考えられている「クラスの継承」が言語機能から外されたことには驚いたことだろう(ほかにも、Goでは例外処理機能や型を実行時に引数とするジェネリックなどがサポートされていない)。
- 一方で、既存言語に比べ強化されているのが並列処理への対応である。Goでは、「go」という命令を記すだけで処理を並列化できるようになっている。
入門記事†
Last-modified: 2024-04-15 (月) 18:20:29