[swift-users] Details of defer statement in Swift

Chris Lattner clattner at apple.com
Thu Nov 10 15:13:25 CST 2016


> On Nov 9, 2016, at 11:45 PM, Rien <Rien at balancingrock.nl> wrote:
> 
> The manual says this:
> 
> https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Statements.html <https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Statements.html>
> 
> A defer statement is used for executing code just before transferring program control outside of the scope that the defer statement appears in.
> 
> The scope of a for loop ends when the loop ends.

Right, more specifically, it is the “static” scope that it is defined in.  Go has a similar but different defer statement, which runs defer'd actions at the end of the current dynamic *function* scope.  The Swift rules are simpler, more predictable, and are able to be implemented more efficiently.

-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20161110/aad370e5/attachment.html>


More information about the swift-users mailing list