函式的執行規則

2021-09-06 07:06:35 字數 357 閱讀 1253

//函式的執行規則

//var fn = {}; //fn 在棧記憶體中宣告變數 fn

function fn() //在堆中宣告函式 fn

fn() //fn is not a function

/* * 1、函式在執行的時候,先去棧記憶體中尋找有fn的變數,再去堆記憶體中尋找對應的fn記憶體位址,如果找到,則執行,反之報錯

* 2、如果在棧記憶體中找不到變數fn,則去堆記憶體中找有沒有fn的記憶體位址,有就執行,沒有就報錯

* 3、為什麼先去棧記憶體中先找,而不去堆記憶體中?因為棧記憶體比較小,程式就先掃瞄棧記憶體,沒有再去更大的空間==》堆記憶體中查詢

* */

Golang 的defer執行規則

defer是golang的乙個特色功能,被稱為 延遲呼叫函式 當外部函式返回後執行defer。類似於其他語言的 try catch finally 中的finally,當然差別還是明顯的。在使用defer之前我們應該多了解defer的特性,這樣才能避免使用上的誤區。1.最簡單的deferfunc t...

序列規則執行器rules executor

1.操作型規則 abstractoperaterule 對輸入的資料進行加工處理.2.過濾型規則 abstractfilterrule 符合條件的通過,繼續執行後續的規則 否則丟棄,直接返回null.3.條件型規則 abstractconditionrule 符合條件的通過,繼續執行後續的規則 否則...

go go 語句及其執行規則

package main import fmt func main 不會列印任何內容 當程式執行到一條 go 語句時,go 語言執行時系統會試圖從某個存放空閒的 goroutine 的佇列中獲取乙個 goroutine,找不到時才會建立乙個 goroutine。然後 go 語言執行時系統用該 gor...