ホームページ > バックエンド開発 > Golang > Go でジェネリック型に対して返される Nil 値を処理するにはどうすればよいですか?

Go でジェネリック型に対して返される Nil 値を処理するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-31 16:05:11
オリジナル
163 人が閲覧しました

How to Handle Returning Nil Values for Generic Types in Go?

ジェネリック型のデフォルト値を返す

Go では、次の操作を実行しようとすると、「return ステートメントでは T 値として nil を使用できません」というステートメントが発生します。ジェネリック型の場合は nil を返します。これは、nil がすべての型に対して有効な値ではないためです。たとえば、提供されたコードでは:

func (list *mylist[T]) pop() T {...}
func (list *mylist[T]) getfirst() T {...}
ログイン後にコピー

T が int 型の場合、意味のある nil 値は存在しません。同様に、構造体の場合、nil は有効な値ではありません。

代わりに、指定された型にはゼロ値を使用する必要があります。ゼロ値は次のとおりです。

  • ポインタとスライスの場合は nil
  • "" 文字列の場合
  • 0 整数および浮動小数点数の場合

ジェネリック関数を使用してゼロ値を返す方法は次のとおりです。 function:

func getZero[T any]() T {
    var result T
    return result
}
ログイン後にコピー

この関数は、型引数として使用される型に対して 0 の値を返します。

関数をテストすると、次の結果が得られます:

int 0
string ""
image.Point (0,0)
*float64 nil
ログイン後にコピー

ご覧のとおり、さまざまな型に対して適切なゼロ値が返され、ジェネリック関数と型に適切なデフォルト値が提供されます。

以上がGo でジェネリック型に対して返される Nil 値を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート