Go では、インターフェースのスライスに格納されている値の等価性チェックの複雑さを理解することが不可欠です。{}このガイドでは、カスタム構造体を含むさまざまな値の型が、指定されたインターフェース値に対して等しいことを検証するために利用できる方法について説明します。
次のような比較可能な型を扱う場合。整数 (int) であるため、等価性チェックは簡単です。 == 演算子を使用して値を直接比較できます。
var v interface{} = 10 for i := 0; i < len(A); i++ { if A[i] == v { fmt.Println("Gotcha!") break } }
同様に比較可能なカスタム構造体の場合、同等性チェックはフィールドの比較可能性に依存します。すべてのフィールドが比較可能な場合は、== を使用して構造体を直接比較できます。それ以外の場合は、独自の等価関数を定義する必要があります。
Go プログラミング言語仕様を参照すると、インターフェイスの等価性が明確になります。
次のプレイグラウンドさまざまな値タイプの等価性チェックを示します: https://play.golang.org/p/bgO1_V87v9k
interface{} 値の等価性チェックを理解すると、Go プログラミングが簡素化されます。インターフェイスの値、構造体、および同等の型には、正確な結果を得るために従う必要がある特定の等価規則があることに注意してください。
以上がGo でインターフェース値の等価性チェックを実行するにはどうすればよいですか?{}の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。