Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
// Declaring optionals var username: String? = "alice" var score: Int? = nil // Optional binding (if let) if let name = username { print("User: \(name.uppercased())") } else { print("No user") } // Guard let (early exit pattern) func processUser(_ name: String?) -> String { guard let name = name, !name.isEmpty else { return "Invalid user" } return "Processing \(name)" } // Nil coalescing ?? let displayName = username ?? "Guest" print(displayName) // Optional chaining ?. struct User { var address: Address? } struct Address { var city: String } var user: User? = User(address: Address(city: "Tokyo")) print(user?.address?.city ?? "Unknown") // "Tokyo" // Force unwrapping ! (use with caution) let definiteValue: String! = "I'm definitely not nil" print(definiteValue)
Result
Open