let Constant
var Variable
let implicitInteger = 70
let implicitDouble = 70.0
let explicitDouble: Double = 70
The so-called type implications
To include value in strings:
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
Arrays and Dicts:
var shoppingList = ["catfish", "water", "tulips"]
shoppingList[1] = "bottle of water"
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"
//empty
let emptyArray = String[]()
let emptyDictionary = Dictionary()
Control Flow and Optional Binding
For each
let individualScores = [75, 43 103, 87, 12]
var teamScore = 0
for score in individualScores {
if score > 50 {
teamScore += 3
} else {
teamScore += 1
}
}
teamScore
Optional Binding
var optionalString: String? = "Hello"
optionalString == nil
var optionalName:String? = "John Appleseed"
var greeting = "Hello!"
//optional binding
if let name = optionalName {
greeting = "Hello, \(name)"
}
If the optional value is nil
, the conditional is false
and the code in braces is skipped.
Otherwise, the optional value is unwrapped and assigned to the constant after let
, which makes the unwrapped value available inside the block of code.