Go では、コードの再利用性と保守性を高めるために、関数をパラメーターとして渡すことができます。構文: 関数型の値、つまり func (パラメータ リスト) の戻り値型を渡します。実際のケース: 関数 Exclaim は文字列をパラメータとして受け取り、その文字列を出力して感嘆符を追加します。関数 PrintWithExcitement は関数パラメーター f を受け取り、それを使用して文字列パラメーター s を出力します。
Go では、関数をパラメータとして別の関数に渡すことができます。これにより、再利用可能なモジュール化されたコードの作成が可能になり、コードの可読性と保守性が向上します。
関数をパラメータとして渡すには、関数型の値として渡すだけです。関数タイプの構文は次のとおりです。
func(参数列表) 返回值类型
たとえば、関数をパラメータとして受け取り、それを使用してメッセージを出力する次の関数について考えてみましょう。
func PrintMessage(f func(string)) { f("Hello, world!") }
ここでは、関数を作成し、それをパラメーターとして別の関数に渡す方法を示す実践的なケースを示します:
package main import "fmt" // 定义一个函数并将其作为参数传递 func Exclaim(s string) { fmt.Println(s + "!") } // 定义一个函数,它接收一个函数作为参数 func PrintWithExcitement(s string, f func(string)) { f(s) } func main() { // 传递 Exclaim 函数作为参数 PrintWithExcitement("Hello", Exclaim) }
上記のコードを実行すると、出力が表示されます:
Hello!
このコードは、その方法を示しています。関数Exclaim
を定義し、それをパラメータとして関数PrintWithExcitement
に渡します。次に、PrintWithExcitement
は Exclaim
関数を呼び出し、「Hello!」の後に感嘆符が続くメッセージを出力します。
以上がgolang 関数関数がパラメータとして渡されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。