Avatar ·

ما الفرق بين `let` و `var` في Swift؟ متى نستخدم كلًا منهما؟

```html مرحباً بالجميع! لقد بدأت للتو في تعلم Swift، ولدي سؤال أساسي يبدو أنه يطارد جميع المبتدئين. لا أستطيع فهم الفرق بين `let` و `var` بشكل كامل. قرأت أن `let` هو ثابت، و `var` هو متغير. ولكن في الممارسة العملية، أواجه بعض الالتباس. على سبيل المثال، كتبت هذا الكود:
var myName = "Алексей"
myName = "Иван"
print(myName) // يطبع "Иван" — كل شيء واضح، هذا متغير
ولكن بعد ذلك جربت نفس الشيء مع `let`:
let myAge = 25
myAge = 30 // خطأ: Cannot assign to value: 'myAge' is a 'let' constant
هنا كل شيء منطقي — المترجم يشتكي. ولكن بعد ذلك قرأت أن `let` يمكن أن يكون غير محدد حتى أول استخدام. حاولت القيام بذلك:
let userName: String
// بعض الكود...
userName = "Петр" // هل هذا يعمل؟
وهذا نجح! إذن ما الفائدة؟ لماذا لا يمكن ببساطة استخدام `var` دائماً؟ خاصة أنني أشعر بالحيرة لأن الأمثلة في Stack Overflow وفي الرسمية ```