golang ジェネリックの使用は、次の方法で置き換えることができます: 1. インターフェイスの使用: インターフェイスを定義し、インターフェイスの型を関数またはメソッドのパラメーターまたは戻り値の型として使用することにより、さまざまな型に対する抽象操作を実現できます。 2. コード生成ツールは、一般的な動作を実現するために特定の種類のコードを生成しますが、テンプレート コードは事前に定義する必要があり、テンプレート コードは生成ツールを通じて特定の種類のコードに変換できます。
# このチュートリアルのオペレーティング システム: Windows 10 システム、Dell G3 コンピューター。
golang ジェネリックの使用は、次の方法で置き換えることができます:
type MyGeneric interface { DoSomething() } func ProcessGeneric(g MyGeneric) { // 对泛型进行处理 g.DoSomething() }
//go:generate go run gen.go func ProcessGeneric(g GenericType) { // 处理泛型 } // gen.go package main import ( "fmt" "os" "text/template" ) type GenericType int func main() { tmpl := template.Must(template.New("").Parse(` type GenericType {{.}} `)) types := []string{"int", "string", "float64"} for _, t := range types { f, err := os.Create(fmt.Sprintf("generic_%s.go", t)) if err != nil { fmt.Println(err) continue } defer f.Close() tmpl.Execute(f, t) } }
この例では、GenericType テンプレートを作成し、コード生成ツールを使用して、さまざまな型 (int、string、float64) に基づいて特定のコード ファイルを生成します。
上記の方法は妥協的な解決策であり、正式にサポートされている汎用実装ではないことに注意してください。 Go 言語チームはジェネリックの開発を進めており、将来的には正式なジェネリック サポートを開始する可能性があります。
以上がgolang ジェネリックの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。