توصيف الأنواع (Type Annotations)
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 5 من 86.
يمكن لـ Swift استنتاج نوع القيمة تلقائيًا. يُسمى هذا استنتاج النوع (type inference):
let name = "Alice" // تستنتج Swift أن هذا String
let age = 25 // تستنتج Swift أن هذا Int
let price = 9.99 // تستنتج Swift أن هذا Doubleولكن يمكنك أيضًا التصريح عن النوع صراحةً باستخدام توصيف النوع (type annotation). تكتب نقطتين رأسيتين بعد الاسم، يليهما النوع:
let name: String = "Alice"
let age: Int = 25
let price: Double = 9.99
let isActive: Bool = trueتعد تعليقات النوع (Type annotations) مفيدة عندما:
- تريد أن تكون أكثر وضوحاً بشأن نوع القيمة
- تقوم بالتصريح عن متغير بدون قيمة أولية
var score: Int // تم التصريح عنه ولكن لم يتم تعيينه بعد
score = 100 // تم التعيين لاحقاًبدون توضيح النوع (type annotation)، لن تعرف Swift ما هو النوع الذي يجب أن يكون عليه score.
التحدي
مبتدئقم بإنشاء أربعة ثوابت مع توضيحات نوع صريحة:
nameمن النوعStringبالقيمة"Alice"ageمن النوعIntبالقيمة30priceمن النوعDoubleبالقيمة9.99isOnlineمن النوعBoolبالقيمةtrue
اطبع جميع القيم الأربع في أسطر منفصلة.
ورقة مرجعية
يمكن لـ Swift تحديد نوع القيمة تلقائيًا من خلال استنتاج النوع (type inference):
let name = "Alice" // تستنتج Swift أنها String
let age = 25 // تستنتج Swift أنها Int
let price = 9.99 // تستنتج Swift أنها Doubleيمكنك التصريح عن الأنواع صراحةً باستخدام توصيفات النوع (type annotations) مع وضع نقطتين رأسيتين بعد اسم المتغير:
let name: String = "Alice"
let age: Int = 25
let price: Double = 9.99
let isActive: Bool = trueتُعد توصيفات النوع مفيدة عند التصريح عن متغير بدون قيمة أولية:
var score: Int // تم التصريح عنه ولكن لم يتم تعيين قيمة له
score = 100 // تم تعيين القيمة لاحقًاجرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)