Thành ngữ để xử lý các tùy chọn trong Swift dường như quá dài dòng, nếu tất cả những gì bạn muốn làm là cung cấp một giá trị mặc định trong trường hợp không có:
if let value = optionalValue {
// do something with 'value'
} else {
// do the same thing with your default value
}
liên quan đến việc sao chép mã không cần thiết hoặc
var unwrappedValue
if let value = optionalValue {
unwrappedValue = value
} else {
unwrappedValue = defaultValue
}
mà đòi hỏi unwrappedValue
không phải là một hằng số.
Đơn vị Tùy chọn của Scala (về cơ bản là cùng một ý tưởng với Tùy chọn của Swift) có phương pháp getOrElse
cho mục đích này:
val myValue = optionalValue.getOrElse(defaultValue)
Tui bỏ lỡ điều gì vậy? Swift đã có một cách nhỏ gọn để làm điều đó chưa? Hoặc, không thành công, có thể xác định getOrElse
trong tiện ích mở rộng cho Tùy chọn không?