ホームページ >バックエンド開発 >Golang >golang 関数関数がパラメータとして渡される

golang 関数関数がパラメータとして渡される

PHPz
PHPzオリジナル
2024-04-22 22:12:01853ブラウズ

Go では、コードの再利用性と保守性を高めるために、関数をパラメーターとして渡すことができます。構文: 関数型の値、つまり func (パラメータ リスト) の戻り値型を渡します。実際のケース: 関数 Exclaim は文字列をパラメータとして受け取り、その文字列を出力して感嘆符を追加します。関数 PrintWithExcitement は関数パラメーター f を受け取り、それを使用して文字列パラメーター s を出力します。

golang 関数関数がパラメータとして渡される

Go で関数をパラメータとして渡す

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に渡します。次に、PrintWithExcitementExclaim 関数を呼び出し、「Hello!」の後に感嘆符が続くメッセージを出力します。

以上がgolang 関数関数がパラメータとして渡されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。