大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)
我们知道在C++和ruby语言的错误处理中有一种final机制,发生在无论是否出现错误都会执行的情况.这时适合处理收尾或清理工作.
在Swift中同样存在一个defer语法,后面跟闭包可以完成类似的功能,只不过defer不仅仅可以用在错误处理中,它可以用在任何需要清理的情况:
var isTrue = falsefunc 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.
总结以上是内存溢出为你收集整理的Swift中类似C++和ruby中的final机制全部内容,希望文章能够帮你解决Swift中类似C++和ruby中的final机制所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)