Swiftly

Swift references for busy coders

If let

If let is used with optionals.

If let-else

func greet(name: String?) {
  if let name {
    print("Hello \(name)!")
  } else {
    print("Hello guest!")
  }
}
greet(name: "Asma") // Hello Asma!
greet(name: nil) // Hello guest!

Nil-coalescing equivalent

func greet(name: String?) {
  let unwrappedName = name ?? "guest"
  print("Hello \(unwrappedName)!")
}
greet(name: "Asma") // Hello Asma!
greet(name: nil) // Hello guest!

if let name is shorthand for if let name = name: it unwraps the optional into a constant of the same name. The unwrapped value can also be given a different name, as in if let unwrappedName = name.

See also

Further reading