Go 言語はメソッドのオーバーロードをサポートしていません。 Go 言語は、言語をシンプルに保つためにオーバーロードをサポートしていません。 Go 言語を C 言語コードに埋め込んで直接コンパイルしたり、他の言語から呼び出すための動的ライブラリまたは静的ライブラリにコンパイルしたりできるようになり、オーバーロードすることなく、ハイブリッド プログラミングへの障害が減りました。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
上記は、Go 言語の公式ドキュメントにある FAQ のスクリーンショットです。 Go がなぜオーバーロードをサポートしていないのかという問題は多くの開発者を悩ませているようで、多くの人が質問し、Go 言語公式は上記のような答えを出しました。
上記の回答には次の文があります: 他の言語での経験から、同じ名前で異なるシグネチャを持つさまざまなメソッドがあると便利な場合もありますが、混乱を招く可能性があることがわかりました。そして実際には壊れやすい。
記事の内容: 他の言語での経験から、名前は同じでシグネチャが異なるさまざまなメソッドがあると便利な場合もありますが、実際には混乱しやすく脆弱になる可能性があることがわかります。
さらに、Go 関係者は次のように続けました: Go の型システムでは、名前のみで一致し、型の一貫性を要求するのは、簡素化のための重要な決定です。
公式ブログでは最終的に次のように述べられています: 演算子のオーバーロードに関しては、より便利なようです。ただし、繰り返しになりますが、過負荷がなければ物事はより簡単になります。
おそらく、いくつかの短い文でそれを伝えることができます。実際のところ、Go 言語の設計者が Go でオーバーロードを実装しなかった深い理由はありませんが、これが核となる原則です: Go を十分にシンプルに保つことです。 この簡単な説明を過小評価しないでください。私の意見では、Go を十分にシンプルにする ことを主張するには、Go 設計者は非常に自制する必要があります。
概要:
Go 言語は、言語をシンプルに保つためにオーバーロードをサポートしていません。 Go 言語を C 言語コードに埋め込んで直接コンパイルしたり、他の言語からの呼び出し用に動的ライブラリまたは静的ライブラリにコンパイルしたりできるようになりました。オーバーロードがなければ、ハイブリッド プログラミングに対する障壁が少なくなります。
【関連する推奨事項: Go ビデオ チュートリアル 、プログラミング教育 】
以上がGo言語はメソッドのオーバーロードをサポートしていませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。