Go のジェネリクスを使用すると、複数のデータ型を処理するコードを作成できます。構文は type name[T any] struct { ... } で、T は汎用パラメーターです。 func CopySlice[T any](dst, src []T) 関数を使用してスライスをコピーする例を示します。ジェネリックの利点には、コードの再利用、型変換の減少、型安全性が含まれます。
Go でのジェネリックスの使用による言語機能の拡張
ジェネリックスは、さまざまなタイプのコードを作成できるプログラミング言語機能です。データの。 Go 1.18 以降では、ジェネリックがサポートされています。この記事では、ジェネリックスを使用して Go 言語に新しい機能を追加する方法を説明します。
構文
ジェネリック型は次のように定義されます:
type name[T any] struct { // ... }
その中に:
name
: 型名T any
: ジェネリック型パラメータ実用的なケース
作成してみましょうa 例として、任意のタイプのスライスをコピーする汎用関数を取り上げます。
func CopySlice[T any](dst, src []T) { n := len(src) if cap(dst) < n { dst = make([]T, n) } copy(dst, src) }
この関数内:
[T any]
は、関数が受け入れることを意味します。任意のタイプのデータのスライス copy(dst, src)
src
スライスの要素を dst
スライス #使用方法
作成したCopySlice 関数を使用できるようになります:
intSlice := []int{1, 2, 3} floatSlice := []float64{1.1, 2.2, 3.3} newIntSlice := make([]int, len(intSlice)) CopySlice(newIntSlice, intSlice) newFloatSlice := make([]float64, len(floatSlice)) CopySlice(newFloatSlice, floatSlice)
利点
Use pan ジェネリックの利点は次のとおりです。結論
ジェネリックを使用すると、Go 言語に新しい機能を簡単に追加できます。ジェネリック型パラメーターを提供すると、さまざまなデータ型で機能するコードを作成でき、コードの再利用性、安全性が向上し、型変換が削減されます。以上がジェネリックスを使用して golang に新しい機能を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。