首頁 >後端開發 >Golang >Lambda 表達式在 Go 中如何運作?

Lambda 表達式在 Go 中如何運作?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-27 10:21:16540瀏覽

How Do Lambda Expressions Work in Go?

Go 中的 Lambda 表達式

在 Go 中,lambda 表達式是使用匿名函數實現的。這允許您內聯定義函數,而無需單獨聲明它們。

在 Go 中建立 lambda 表達式非常簡單。只需使用 func 關鍵字,後面接著函數的參數和主體。例如,以下程式碼定義了一個傳回字串的 lambda 表達式:

func foo() string {
  return "Stringy function"
}

Lambda 表達式可以在任何使用普通函數的地方使用。例如,您可以將它們作為參數傳遞給其他函數或將它們儲存在變數中。

以下範例示範如何使用 lambda 表達式將一個函數作為參數傳遞給另一個函數:

func takesAFunction(foo func() string) {
  fmt.Printf("takesAFunction: %v\n", foo())
}

您也可以使用 lambda 表達式來定義從其他函數傳回的函數。以下範例傳回一個列印字串的 lambda 表達式:

func returnsAFunction() Stringy {
  return func() string {
    fmt.Printf("Inner stringy function\n")
    return "bar" // have to return a string to be stringy
  }
}

如您所見,Go 中的 lambda 表達式是一個強大的工具,可用於建立簡潔且可重用的程式碼。

以上是Lambda 表達式在 Go 中如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn