Golang のジェネリック メソッド パラメータ
Golang では、関数が任意の型を受け入れられるようにするために、ジェネリック メソッド パラメータを使用できます。メソッドが特定のプロパティを持つ型を必要とする場合、インターフェイスを使用できます。以下は、関数が ID プロパティを持つ型を受け入れる必要がある例です。
<code class="go">type MammalImpl struct { ID int Name string } func (m MammalImpl) GetID() int { return m.ID } func (m MammalImpl) GetName() string { return m.Name } type HumanImpl struct { MammalImpl HairColor string } func (h HumanImpl) GetHairColor() string { return h.HairColor }</code>
このコードでは、インターフェイスが、哺乳類 および 人間。これにより、両方のタイプを Count 関数で使用できるようになり、GetID メソッドを通じて間接的に ID プロパティにアクセスできるようになります。
<code class="go">func Count(ms []Mammal) *[]string { IDs := make([]string, len(ms)) for i, m := range ms { IDs[i] = strconv.Itoa(m.GetID()) } return &IDs }</code>
哺乳類 と 人間 オブジェクトの両方のスライスを処理できるようになりました。
完全な動作コードは次のとおりです。以上が汎用メソッドのパラメーターとインターフェイスを使用して、Golang で哺乳類オブジェクトと人間オブジェクトの両方のスライスを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。