Inout Parameters
suggest changeFunctions can modify the parameters passed to them if they are marked with the inout keyword. When passing an inout parameter to a function, the caller must add a & to the variable being passed.
func updateFruit(fruit: inout Int) {
    fruit -= 1
}
var apples = 30 // Prints "There's 30 apples"
print("There's \(apples) apples")
updateFruit(fruit: &apples)
print("There's now \(apples) apples") // Prints "There's 29 apples".
	This allows reference semantics to be applied to types which would normally have value semantics.
  Found a mistake? Have a question or improvement idea?
  Let me know.
      
      Table Of Contents