理解Go 中閉包體中「()」的用途
在Go 中,遇到「()」的使用並不罕見()」位於閉包體之後,無論是在函數文字或defer語句中。 " 用於立即呼叫函數。這是必要的,因為閉包中指定的函數沒有指派給變數。相反,它是直接執行的。 「()」允許編譯器計算函數並傳回其結果。 Go 規範規定defer 語句後面的表達式必須始終是函數呼叫。 「()」立即執行函數閉包,允許在觸發defer 時註冊執行。顯示函數閉包本身就是一個閉包。中的閉包是在一個函數在另一個函數中聲明並從封閉範圍捕獲變數時創建的。 。
範例
到為了說明呼叫函數和呼叫閉包之間的區別,請考慮以下範例:
在此範例中,第一個printA()呼叫立即呼叫函數,而第二次呼叫則呼叫一個從封閉範圍捕獲變數 a 的閉包。
以上是為什麼 Go 中的閉包體後面需要括號「()」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!