Evaluates expression
(the initializer) and matches it against pattern
. If the match fails, a panic occurs.
Any bindings in pattern
are available for the remainder of the enclosing block expression. Any bindings in pattern
that existed prior to the let
statement are shadowed for the remainder of the enclosing block expression.
Evaluates (the value). If the expression statement is the final statement of the enclosing , the value becomes the result of the block expression.
Defers evaluation of (the body) until control leaves the enclosing . Multiple defer
statements are evaluated in reverse lexical order.
defer
statements are typically used to reliably clean up resources regardless of how control leaves a block expression.