ホームページ > バックエンド開発 > Golang > ジェネリックは Go で真のジェネリック関数をどのように有効にするのでしょうか?

ジェネリックは Go で真のジェネリック関数をどのように有効にするのでしょうか?

DDD
リリース: 2024-12-18 15:08:13
オリジナル
411 人が閲覧しました

How Do Generics Enable True Generic Functions in Go?

Go の汎用関数

Go のインターフェイス型は、実装されたメソッドを必要とせずに任意の型を保持できるため、インターフェイス型がインターフェイスとして機能するかのような印象を与えます。汎用関数の形式。しかし、そうではありません。コンパイル時に型が不明な真のジェネリック関数は、バージョン 1.18 より前の Go ではサポートされていませんでした。

Go 1.18 ではジェネリックが導入され、ジェネリック関数の作成が可能になりました。ジェネリック関数は、func キーワードの後に​​角かっこで囲まれた型パラメータを使用して定義できます。型パラメータは、ジェネリック関数で受け入れられる型を指定します。例:

func Print[T any](s []T) {
    for _, v := range s {
        fmt.Print(v)
    }
}
ログイン後にコピー

この例では、T は任意の型を表すことができる型パラメーターです。関数 Print は型 []T のスライスを受け入れ、スライスの要素を出力します。

汎用関数を使用するには、目的の型のスライスを引数として渡すことができます:

// Passing a list of strings
Print([]string{"Hello, ", "world\n"})

// Passing a list of integers
Print([]int{1, 2})
ログイン後にコピー

プログラムの出力は次のようになります:

Hello, world
12
ログイン後にコピー

汎用関数は、さまざまな型で動作できるコードを記述するための簡潔かつ安全な方法を提供します。型の安全性を犠牲にすることなく。

以上がジェネリックは Go で真のジェネリック関数をどのように有効にするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート