Go でのインターフェイスの使用には、インターフェイスの定義とメソッド シグネチャの組み込みが含まれます。インターフェイスを実装し、メソッドの実装を提供します。型をインターフェイス型に変換し、そのメソッドを呼び出します。インターフェイスは、コードの再利用、テストの容易さ、拡張性を促進します。
#Go でインターフェイスを使用するには?
Interface は Go 言語でコントラクトを定義する方法であり、一連のメソッド シグネチャを提供します。このインターフェイスを実装する型は、これらのメソッドの実装を提供する必要があります。
# 構文
インターフェイスの構文は次のとおりです:type 接口名 interface { 方法1() 返回类型 方法2(参数) 返回类型 ... }
実際のケース: コンパレータ インターフェイス
2 つの型を比較するためのCompare メソッドを定義する
Comparable インターフェイスがあるとします。このインターフェイスを実装して、独自の型の比較機能を提供できます。
type Comparable interface { Compare(other Comparable) int } type Person struct { Name string Age int Hobby string } func (p Person) Compare(other Comparable) int { switch other.(type) { case Person: o := other.(Person) if p.Age > o.Age { return 1 } else if p.Age < o.Age { return -1 } return 0 default: return -1 } }
メソッドの使用
インターフェイスを実装した後、そのインスタンスをインターフェイス型に変換し、そのメソッドを呼び出すことができます。var comparable Comparable = Person{"John", 30, "Coding"} result := comparable.Compare(Person{"Jane", 25, "Reading"}) fmt.Println(result) // 预期输出:1
利点
インターフェイスを実装するときは、必要なメソッドをすべて指定してください。
以上がGo 言語で顔を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。