Go ジェネリックにおける ~ の意味を理解する
Go ジェネリックでは、チルダ トークン (~) により、「」として知られる新しい概念が導入されます。近似要素。」式 ~T は、基礎となる型が T であるすべての型のセットを示します。
基礎となる型について
「基礎となる型」の定義は、目的を理解するために重要です。近似要素の。言語仕様では、各型には基礎となる型があり、型が事前に宣言された型 (int、float64、string など)、型リテラル、またはバインドされた識別子を持つ型を参照する場合はそれ自体になります。
実際的な意味
近似要素を使用すると、インターフェース制約に正確な型だけを超えた型を含めることができます。一致します。たとえば、ExactSigned = int | のようなインターフェイス制約です。 int8 | ... | int64 では、int8 上で定義される MyInt8 のような型は許可されません。ただし、~int8 のような近似要素を含む制約constraints.Signed では、MyInt8 を含めることができます。
近似要素の使用
近似要素は共用体で使用できます。 (例:constraints.Signed = ~int8 | ~int16 | ...)、匿名制約の有無にかかわらず
一般的な使用例
近似要素の一般的な使用例は、複合型 (スライス、構造体など) です。 .) メソッドが必要です。複合型の識別子をバインドすることにより、近似要素を使用して制約にその識別子を含めることができます。
注: 近似要素は、インターフェイスの型パラメーターと一緒に使用できません。
以上がGo ジェネリックにおけるチルダ (~) 記号は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。