Go 言語の関数ジェネリック
ジェネリック関数を使用すると、さまざまな型に共通の関数を定義できるため、コード セックスとコードの再利用性が向上します。柔軟性。
構文
汎用関数の構文は次のとおりです:
func <函数名>[T any](<参数列表>) <返回值类型> { // 函数体 }
Where:
<関数名>
は汎用関数の名前です。 <T any>
は関数で受け入れられる型パラメータを示し、any
キーワードは型が不明であることを示します。 <パラメータ一覧>
は関数に必要なパラメータです。 <戻り値の型>
は、関数によって返される型です。 実際的なケース
2 つの値を比較し、大きい方の値を返す汎用関数を作成します。この関数は、比較可能な型の 2 つの値を比較します。
func Max[T comparable](a, b T) T { if a > b { return a } return b }
型制約を使用して、関数が受け入れることができる型を制限できます。たとえば、型が同等であること、または特定のインターフェイスを実装することを要求できます。使用するとパフォーマンスが低下する可能性があります。
ジェネリック型のインスタンス化では新しい型が生成されるため、メモリのオーバーヘッドが増加する可能性があります。
#結論
以上がgolang 関数のジェネリックスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。