Golang 中的匿名函數

Go 中的匿名函數非常有用。以下是Golang 中使用匿名函數的語法、用法和範例

Golang 中的匿名函數

匿名函數是沒有名稱的函數。當你想要建立內聯函數時它很有用。在Go中,匿名函數也可以形成閉包。匿名函數也稱為函數文字。

例如:

package main
import "fmt"

func main() {
    // Hàm ẩn danh
    func() {
        fmt.Println("Welcome! to Quantrimang.com")
    }()
}

結果:

Welcome! to Quantrimang.com

句法:

func(parameter_list)(return_type) {
    // code..

    // Dùng lệnh return nếu return_type được đưa ra
    // nếu return_type không được cung cấp, thì không
    // dùng lệnh return
    return
}()

分配變數

您可以將匿名函數指派給變數。然後可以像普通函數一樣呼叫該變數。

package main
import "fmt"

func main() {
    // Gán một hàm ẩn danh cho một biến
    value := func() {
        fmt.Println("Welcome! to Quantrimang.com")
    }
    value()
}

結果:

Welcome! to Quantrimang.com

作為參數傳遞

您也可以將匿名函數作為參數傳遞給另一個函數。

package main
import "fmt"

// Chuyển hàm ẩn danh làm đối số
func GFG(i func(p, q string) string) {
    fmt.Println(i("Geeks", "for"))
}
func main() {
    value := func(p, q string) string {
        return p + q + "Geeks"
    }
    GFG(value)
}

結果:

GeeksforGeeks

返回匿名函數

您可以從另一個函數傳回一個匿名函數。

package main
import "fmt"

// Trả về hàm ẩn danh
func GFG() func(i, j string) string {
    myf := func(i, j string) string {
        return i + j + "GeeksforGeeks"
    }
    return myf
}

func main() {
    value := GFG()
    fmt.Println(value("Welcome ", "to "))
}

結果:

Welcome to GeeksforGeeks

總結

Golang中的匿名函數 非常靈活且強大。它們可用於建立內聯函數、閉包,甚至傳遞和傳回函數。了解如何有效地使用它們可以顯著提高您的 Go 程式設計能力。

Sign up and earn $1000 a day ⋙

Leave a Comment

Go 中的關鍵字

Go 中的關鍵字

關鍵字-關鍵字是語言中用於某些內在過程或代表某些預定義動作的字詞。以下是您需要了解的有關 Golang 中的關鍵字的知識。

Golang中的資料類型

Golang中的資料類型

資料類型指定有效的 Go 變數可以包含的資料類型。 Go語言中,類型分為以下四類:

Golang 中的函數參數

Golang 中的函數參數

Go 支援兩種主要的傳遞參數的方式:按值傳遞和按引用傳遞。 Go 預設使用按值傳遞。

Golang中傳回多個值的函數

Golang中傳回多個值的函數

在Go語言中,允許使用return語句從函數傳回多個值。換句話說,在函數中,一個return語句可以傳回多個值。

Go 中的 Switch 語句

Go 中的 Switch 語句

Golang 和大多數其他程式語言一樣,有 switch 語句。以下是如何在 Golang 中使用 switch 語句。

在 Golang 中使用選擇語句時需要了解的案例

在 Golang 中使用選擇語句時需要了解的案例

在本文中,我們將學習如何使用預設情況來避免死鎖。但首先,讓我們先了解一下使用 Golang select 指令時出現死鎖的情況是什麼?

Golang 中的匿名結構和字段

Golang 中的匿名結構和字段

Golang 中的匿名結構是沒有名稱的一次性臨時結構,而匿名欄位允許嵌入未命名的欄位。

如何在 Golang 中使用 Rune

如何在 Golang 中使用 Rune

Golang 中的 Runes 是什麼?如何在 Golang 中使用 Rune?文章會告訴你答案。

如何在 Golang 中使用運算符

如何在 Golang 中使用運算符

運算符允許我們對操作數執行不同類型的操作。在 Go語言中,運算子可以根據其不同的功能進行分類。

Golang 中的 Void 標識符

Golang 中的 Void 標識符

Golang 中的 _(底線)稱為空白標識符。標識符是程式組件的使用者定義名稱,用於識別目的。

如何用 Golang 創建基本程序

如何用 Golang 創建基本程序

你好世界!是任何程式語言中的第一個基本程式。您可以按照以下步驟使用 Golang 編寫第一個程式。

如何在 Windows 上安裝 Go

如何在 Windows 上安裝 Go

Golang 可以輕鬆安裝在 Windows 上。以下是在 Windows 上安裝 Golang 的詳細逐步指南。

Golang 中同名的方法

Golang 中同名的方法

Golang允許在同一個套件中建立兩個或多個同名的方法,但是這些方法的接收者必須是不同的類型。

Go 中的函數

Go 中的函數

在 Go 中,函數是執行特定任務的程式碼區塊,可以在整個程式中重複使用以節省記憶體、提高可讀性並節省時間。

Go 中的變數作用域

Go 中的變數作用域

Golang 中變數的範圍決定了程式中可存取該變數的部分。在 Go 中,所有標識符都有一個在編譯時確定的詞法作用域。

Apple Watch Ultra 3 可能是第一款具有衛星連線功能的智慧手錶

Apple Watch Ultra 3 可能是第一款具有衛星連線功能的智慧手錶

據稱,Apple Watch Ultra 3 配備了一種獨特的新通訊工具。彭博社的馬克古爾曼剛剛透露了即將推出的智慧手錶令人興奮的新細節。

2024 年熱門搜尋

2024 年熱門搜尋

要了解今年全世界對什麼感到好奇,請查看 2024 年 12 月 11 日剛推出的 Google 年度搜尋榜。

三星將 Pixel 手機的出色錄影功能引入 Galaxy

三星將 Pixel 手機的出色錄影功能引入 Galaxy

過去幾年,智慧型手機相機拍攝的影片品質總體上有了顯著提高。

穿緊身鞋走路過多導致腳上起水泡怎麼辦?

穿緊身鞋走路過多導致腳上起水泡怎麼辦?

穿鞋時腳起水泡怎麼辦?本文將指導您治療因穿鞋而引起的腳部水泡的過程。

常識性科學知識選擇題

常識性科學知識選擇題

生命科學測驗將幫助您鞏固和擴展對世界的了解。讓我們來回答下面的常識問題!

潮濕季節如何保護電視、冰箱、洗衣機免受黴菌侵害

潮濕季節如何保護電視、冰箱、洗衣機免受黴菌侵害

在潮濕的季節,電子和冷凍設備經常會因空氣濕度高而發生故障或損壞。如果您知道如何處理家中的濕度,您的設備將避免上述情況。

比較冷凝式乾衣機、通風式乾衣機和熱泵乾衣機,它們有什麼區別,我該買哪一種?

比較冷凝式乾衣機、通風式乾衣機和熱泵乾衣機,它們有什麼區別,我該買哪一種?

目前市面上有 3 種流行的烘乾機類型:冷凝式烘乾機、通風式烘乾機和熱泵烘乾機。要了解哪種烘乾機適合您的家庭,請參閱我們的這篇文章!

如何將回收站新增至檔案總管

如何將回收站新增至檔案總管

無論您使用的是 Windows 10 還是 Windows 11,本指南都會向您展示在檔案總管中顯示回收站所需的所有步驟。

關於 Peaklight 你需要知道的事:新型隱形惡意軟體瞄準非法電影下載

關於 Peaklight 你需要知道的事:新型隱形惡意軟體瞄準非法電影下載

現在,一種名為 Peaklight 的新攻擊正在流行,主要針對非法下載電影的人。

藍牙 6.0 帶來新技術,協助 Apple 改善「尋找我的」網絡

藍牙 6.0 帶來新技術,協助 Apple 改善「尋找我的」網絡

藍牙技術聯盟 (Bluetooth SIG) 本週發布了下一代技術的規範,即藍牙 6.0。

如何使用抽象圖像製作手機桌布

如何使用抽象圖像製作手機桌布

您可以使用抽象照片創建自己的手機桌布。它們不僅美麗,而且創作過程也非常有趣。

為什麼選擇合適的充電器比需要的更困難?

為什麼選擇合適的充電器比需要的更困難?

選擇錯誤的充電器可能會導致您的裝置充電緩慢甚至損壞。由於選擇和產品種類繁多,找到合適的產品比以往任何時候都更加困難。

用戶可能很快就會看到 Instagram 上的貼文評論

用戶可能很快就會看到 Instagram 上的貼文評論

據定期分析 Meta 社交媒體應用程式以發現即將推出的功能的 Alessandro Paluzzi 稱,Instagram 可能會推出一種將其他 Instagram 帖子的評論分享到 Threads 的方法。

用戶希望在 Apple Intelligence 中使用的功能列表

用戶希望在 Apple Intelligence 中使用的功能列表

Apple Intelligence的發布讓許多人感到興奮,但它仍有改進的空間。蘋果可以添加一些功能使其變得更好。

Facebook 訊息統計,查看誰在 Facebook 上發送訊息最多

Facebook 訊息統計,查看誰在 Facebook 上發送訊息最多

Facebook Messenger 目前是使用最廣泛的訊息應用程序,那麼您知道誰給您發短信最多嗎?以下的文章將引導讀者了解誰在 Messenger 上發送簡訊最多。