Go のパラメータとしての関数
Java では、実装に多少の複雑さが伴う場合でも、関数をパラメータとして渡すことができます。匿名の内部クラス。しかし、Go はこのプロセスを簡素化する同様のメカニズムを提供していますか?
Go の関数タイプ
はい、Go は関数タイプを使用してパラメーターとして関数を渡すことをサポートしています。関数の型は関数のシグネチャを定義し、そのパラメーターと戻り値の型を指定します。たとえば、整数の引数を受け取り、文字列を返す関数型変換を定義できます。
type convert func(int) string
関数型の実装
具体的な関数を実装できます。変換関数のタイプを満たすもの:
func value(x int) string { return fmt.Sprintf("%v", x) }
受け渡し関数as Parameters
関数型を定義して実装すると、関数をパラメーターとして他の関数に渡すことができます。たとえば、次の関数 quote123 は、convert 型の関数を受け取り、それを数値 123 に適用します。
func quote123(fn convert) string { return fmt.Sprintf("%q", fn(123)) }
例
提供されたコード例では、次のようになります。 Convert 関数タイプを使用し、関数をパラメータとして渡す方法を示します。
これは、Go の関数型の柔軟性と表現力を示し、構成可能で再利用可能なコードの作成を可能にします。
以上がGo は Java のように関数をパラメータとして渡すことができますか?またその方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。