Go Wiki: 非推奨

構造体フィールド、関数、型、またはパッケージ全体などのAPI機能が冗長または不要になることがあります。新しいプログラムでの使用を推奨しない場合は、その機能を「非推奨」とマークします。

他のシステムとは対照的に、API機能が非推奨になっていることは、将来的に削除されることを意味するわけではありません。それどころか、Go 1の互換性は、既存のプログラムを実行し続けるために、その機能が非推奨の形で保持されることを意味します。

識別子が使用されるべきではないことを示すには、そのドキュメントコメントにDeprecated:で始まり、非推奨に関する情報と、該当する場合は代わりに何を使用すべきかに関する推奨事項を記述した段落を追加します。この段落は、ドキュメントコメントの最後の段落である必要はありません。

一部のツールは、非推奨の識別子の使用時に警告を発します。また、そのドキュメントはpkg.go.devで非表示になります

関数F1が関数F2に置き換えられ、F2が利用可能になった最初のリリースがGo 1.Nである場合、F1の公式の非推奨通知はGo 1.N+1まで追加しないでください。これにより、Go開発者は、サポートされているすべてのGoバージョンにF2が含まれており、簡単に切り替えることができる場合にのみ、F1が非推奨と表示されるようになります。

API機能を非推奨とマークすると、その機能を使用している数百万人のGo開発者にとって、作業や意思決定が必要になる場合があります。API機能を非推奨にすることは、提案プロセスを使用して議論する必要があるAPIの変更です。

type ResponseRecorder struct {
    // HeaderMap contains the headers explicitly set by the Handler.
    // It is an internal detail.
    //
    // Deprecated: HeaderMap exists for historical compatibility
    // and should not be used. To access the headers returned by a handler,
    // use the Response.Header map as returned by the Result method.
    HeaderMap http.Header
// Package rc4 implements the RC4 stream cipher.
//
// Deprecated: RC4 is cryptographically broken and should not be used
// except for compatibility with legacy systems.
//
// This package is frozen and no new functionality will be added.
package rc4

他にもいくつかの例が標準ライブラリにあります。


このコンテンツはGo Wikiの一部です。