Avatar ·

مكافئ 'if let' في Swift في Kotlin: كيفية فك Optional بأمان؟

مرحبًا أيها الزملاء! لقد انتقلت مؤخرًا من Swift إلى Kotlin ولا أستطيع العثور على مكافئ مباشر لبناء `if let`. في Swift، كنت أكتب غالبًا: ```swift if let unwrappedValue = optionalValue { print("القيمة موجودة: \(unwrappedValue)") } else { print("القيمة غير موجودة") } ``` هذا يسمح بفك Optional بأمان واستخدام القيمة داخل الكتلة. في Kotlin، كما فهمت، بدلاً من Optionals تُستخدم الأنواع القابلة للصفر (nullable-типы) مع علامة استفهام (مثل `String?`). لكنني لا أستطيع فهم كيفية التحقق بشكل أنيق وآمن من أن القيمة ليست null، وتعيينها فورًا لمتغير جديد غير قابل للتغيير. جربت استخدام `?.let`، لكنه ليس تمامًا ما أريد: ```kotlin val optionalValue: String? = "Hello" optionalValue?.let { unwrappedValue -> println("القيمة موجودة: $unwrappedValue") } ``` المشكلة هي أن `let` لا يسمح بمعالجة فرع else بسهولة (عندما تكون القيمة null). يمكن بالطبع استخدام `if (optionalValue != null)`، ولكن بعد ذلك داخ...