在go
嘗試遞延函數f本身,這是沒有意義的。相反,正確的語法為: defer f(),此構建一個閉合,在激活defer語句時捕獲當前上下文並執行函數f。外括號立即執行閉合,以確保在執行延期語句之後進行函數調用。
defer func(n int) { fmt.Println(n) }(i)
Conversely, to print the value of i at the time the closure is executed, use:
defer f()理解此原理允許清楚地理解GO中延期語句的行為以及在閉合物體及其他中的正確用法“()”。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3