関数型の比較 Go 言語では、パラメーターと戻り値の型に基づいて関数型を比較できます。 2 つの関数タイプは、そのシグネチャが同じであれば等しい、そうでない場合は等しくありません。
Go では、関数型は関数シグネチャを表す特別な型です。これは、関数の入力パラメータのタイプと出力パラメータのタイプで構成されます。関数型は他の型と同様に比較できます。
func(x int) int func(x string) string
これら 2 つの関数タイプは入力パラメーターのタイプが異なるため、異なるタイプになります。
次の 2 つの関数について考えてみましょう:
func Add(x, y int) int { return x + y } func Subtract(x, y int) int { return x - y }
これら 2 つの関数のシグネチャは同じであるため、同じ型です。
2 つの関数タイプを比較するには、==
演算子と !=
演算子を使用できます。関数のシグネチャが同じであれば、関数の型は等しいです。それ以外の場合、それらは等しくありません。
次のコードは 2 つの関数型が等しいかどうかを比較します:
func main() { addType := func(x, y int) int { return x + y } subType := func(x, y int) int { return x - y } if addType == subType { fmt.Println("函数类型相等") } else { fmt.Println("函数类型不相等") } }
このコードは次の出力を出力します:
函数类型不相等
Go の関数型は次のことができます。他のタイプと同様に比較できます。 ==
演算子と !=
演算子を使用して、関数の型が等しいかどうかを比較できます。
以上がGolang で 2 つの関数タイプを比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。