依存関係の管理を参照してください。SumIntsはm個の値を足し合わせる。SumFloatsはm個の値を足し合わせる。SumIntsOrFloatsは、マップmの値を合計します。s}このコードでは、次のことを行います。SumIntsOrFloats関数を宣言し、2つの型パラメータ(角括弧の中)KとV、および型パラメータを使用する1つの引数、map[K]Vの型を持つ。この関数は型Vの値を返す.K型パラメータに、型制約comparableを指定します。このような場合を特に想定して、Goではcomparable制約が事前に宣言されています。この制約は、値が比較演算子==や!=のオペランドとして使用できる任意の型を許可します。比較可能であると宣言することが必要です。呼び出し側のコードがマップのキーに許容される型を使用することも保証されます。つの型の和集合である制約を指定します。つの型の和集合を指定します。この制約はどちらの型も許可します。どちらの型も、呼び出しコードの引数としてコンパイラによって許可されます。typeであることを指定します。型パラメーターに対して既に指定されている型です。同等の型であるmap[K]Vため、有効なマップ型であることがわかっていることに注意してください。参照を拒否しますmap[K]V。float64](floats))このコードでは、次のことを行います。宣言した汎用関数を呼び出して、作成した各マップを渡します。指定して、呼び出す関数の型パラメーターを置き換える必要がある型を明確にします。次のセクションで説明するように、関数呼び出しで型引数を省略できることがよくあります。多くの場合、コードからそれらを推測できます。関数によって返された合計を出力します。SumIntsはm個の値を足し合わせる。SumFloatsはm個の値を足し合わせる。SumIntsOrFloatsは、マップmの値を合計します。62.97ジェネリック関数を呼び出すときに型引数を削除するこのセクションでは、ジェネリック関数呼び出しの修正バージョンを追加し、呼び出しコードを簡素化するために小さな変更を加えます。この場合は不要な型引数を削除します。コンパイラが使用する型を推測できる場合は、呼び出しコードで型引数を省略できます。コンパイラは、関数の引数の型から型引数を推測します。これは常に可能であるとは限らないことに注意してください。引数を持たないジェネリック関数を呼び出す必要がある場合は、関数呼び出しに型引数を含める必要があります。SumIntsOrFloats(floats))このコードでは、次のことを行います。型引数を省略してジェネリック関数を呼び出します。62.97型制約を宣言するこの最後のセクションでは、前に定義した制約を独自のインターフェイスに移動して、複数の場所で再利用できるようにします。このように制約を宣言すると、制約がより複雑な場合などに、コードを合理化するのに役立ちます。型制約をインターフェイスとして宣言します。制約により、インターフェイスを実装する任意の型が許可されます。つのメソッドで型制約インターフェイスを宣言し、それをジェネリック関数の型パラメーターと共に使用する場合、関数の呼び出しに使用される型引数には、これらのメソッドがすべて含まれている必要があります。このセクションで説明するように、制約インターフェイスは特定の型を参照することもできます。float64}このコードでは、次のことを行います。Number型制約として使用するインターフェイスの型を宣言します。int64インターフェイス内でandの和集合を宣言float64します。基本的に、共用体を関数宣言から新しい型制約に移動しています。書き出す代わりに、float64この型制約を使用できます。SumNumbers関数を貼り付けます。SumNumbersは,マップmの値を合計する。フロート値をマップ値として使用します。s}このコードでは、次のことを行います。前に宣言したジェネリック関数と同じロジックでジェネリック関数を宣言しますが、型制約として共用体の代わりに新しいインターフェイス型を使用します。以前と同様に、引数と戻り値の型に型パラメーターを使用します。あるコードの下に、次のコードを貼り付けます。SumNumbers(floats))このコードでは、次のことを行います。各マップで呼び出しSumNumbers、それぞれの値から合計を出力します。コンパイラは、他の引数から型引数を推測できます。SumIntsはm個の値を足し合わせる。SumFloatsはm個の値を足し合わせる。SumIntsOrFloatsは、マップmの値を合計します。ラインから、コードを実行します。ジェネリックについて紹介しました。次のチュートリアルをやっていきましょう!ぎゅうWEBエンジニア渋谷でWEBエンジニアとして働く。LaravelとVue.jsをよく取り扱い、誰でも仕様が伝わるコードを書くことを得意とする。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。(1)人気記事Vueでform送信前にデータを加工する方法Laravel8に静的解析であるLarastanを導入する方法2038年問題にLaravelで対応する方法。