ما يعادل بناء Swift 'if let' في Kotlin للعمل الآمن مع الأنواع القابلة للصفر
مرحباً بالجميع! لقد بدأت للتو في تعلم Kotlin بعد Swift، وواجهت مشكلة. في Swift، كنت أستخدم غالباً البناء `if let` لاستخراج القيم الاختيارية بأمان. على سبيل المثال:
```swift
var name: String? = "Alice"
if let unwrappedName = name {
print("Hello, \(unwrappedName)")
} else {
print("Name is nil")
}
```
هذا يسمح لي بالتحقق مما إذا كانت هناك قيمة في الاختياري، وإذا كانت موجودة — استخراجها تلقائياً واستخدامها داخل الكتلة. مريح جداً لتجنب force unwrapping.
في Kotlin، أرى أن الأنواع يمكن أن تكون nullable (مع `?`) و non-null. لكنني لا أجد مكافئاً مباشراً لـ `if let`. حاولت الكتابة هكذا:
```kotlin
var name: String? = "Alice"
if (name != null) {
println("Hello, $name")
}
```
لكن هذا يعمل فقط إذا كان المتغير `name` لا يتغير بين التحقق والاستخدام (المترجم ذكي، هذا smart cast). ماذا لو أردت إنشاء متغير جديد بنوع غير nullable، كما في Swift؟ أو إذا كنت أعمل مع متغيرات قابلة للتغيير؟