var name: String? = "Alice"
if let unwrappedName = name {
print("Name is \(unwrappedName)") // 解包成功,输出 "Name is Alice"
} else {
print("Name is nil")
}
var name: String? = "Alice"
print(name?.count) // 输出 Optional(5),因为 name 存在并且值是 "Alice"
name = nil
print(name?.count) // 输出 nil,因为 name 为 nil
var name: String? = nil
let unwrappedName = name ?? "Default Name"
print(unwrappedName) // 输出 "Default Name" 由于 name 是 nil
var name: String! = "Alice"
print(name) // 输出 "Alice",无需手动解包
var names: [String?] = ["Alice", nil, "Bob"]
for name in names {
if let unwrappedName = name {
print(unwrappedName) // 输出 "Alice" 和 "Bob"
} else {
print("No name")
}
}
func findUser(id: Int) -> String? {
if id == 1 {
return "Alice"
} else {
return nil
}
}
let user = findUser(id: 1) // 返回 "Alice"