程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> Swift中類似C++和ruby中的final機制

Swift中類似C++和ruby中的final機制

編輯:關於C++

我們知道在C++和ruby語言的錯誤處理中有一種final機制,發生在無論是否出現錯誤都會執行的情況.這時適合處理收尾或清理工作.

在Swift中同樣存在一個defer語法,後面跟閉包可以完成類似的功能,只不過defer不僅僅可以用在錯誤處理中,它可以用在任何需要清理的情況:

var isTrue = false
func test(name:String)->Bool{
    isTrue = true
    defer {
        isTrue = false
    }
    print("now isTrue is \(isTrue)")
    return name == "hopy"
}

test("hopy")
print(isTrue)

可以看到在test退出之前isTrue都是true,當函數退出後由於前面的defer語句的作用,isTrue會變為false.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved