Constants can now be declared without being initialized in local function scope. They must have a set value before first use. For more information, see Constant Declaration.
Constant properties can now only assign a value once in an initializer. For more information, see Assigning Constant Properties During Initialization
Multiple optional bindings can now appear in a single
ifstatement as a comma-separated list of assignment expressions. For more information, see Optional Binding.
A Optional-Chaining Expression must appear within a postfix expression.
Protocol casts are no longer limited to
Type casts that can fail at runtime now use the
as!operator, and type casts that are guaranteed not to fail use the
asoperator. For more information, see Type-Casting Operators.