ジェネリック型のデフォルト値を返す
Go では、次の操作を実行しようとすると、「return ステートメントでは T 値として nil を使用できません」というステートメントが発生します。ジェネリック型の場合は nil を返します。これは、nil がすべての型に対して有効な値ではないためです。たとえば、提供されたコードでは:
func (list *mylist[T]) pop() T {...} func (list *mylist[T]) getfirst() T {...}
T が int 型の場合、意味のある nil 値は存在しません。同様に、構造体の場合、nil は有効な値ではありません。
代わりに、指定された型にはゼロ値を使用する必要があります。ゼロ値は次のとおりです。
ジェネリック関数を使用してゼロ値を返す方法は次のとおりです。 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 サイトの他の関連記事を参照してください。