الأنواع المضمّنة في Go
int وfloat64 وstring وbool والقيم الصفرية الخاصة بها
الأنواع المضمّنة في Go درس مجاني في Go Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Go Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Go Academy 4 دروس في المجموع.
نظرة عامة على نظام أنواع Go
تحتوي Go على مجموعة غنية من الأنواع المضمنة المنظمة ضمن فئات:
- منطقي:
bool - صحيح:
int،int8،int16،int32،int64ونظائرها غير الموقعة - فاصلة عائمة:
float32،float64 - سلسلة نصية:
string - مركب:
complex64،complex128
أنواع الأعداد الصحيحة
توفر Go أنواعًا للأعداد الصحيحة تعتمد على المنصة وأخرى ذات أحجام ثابتة:
int/uint— الحجم يعتمد على المنصة (32 أو 64 بت)int8…int64— عروض بت ثابتةbyte— اسم مستعار لـuint8rune— اسم مستعار لـint32، ويمثل نقطة ترميز Unicode
استخدم int للأعداد الصحيحة العامة ما لم تكن بحاجة إلى عرض محدد.
float64 وfloat32
تتبع أنواع الفاصلة العائمة المعيار IEEE 754:
package main
func main() {
var f32 float32 = 3.14
var f64 float64 = 3.141592653589793
ratio := f64 / 2.0 // float64 inferred
_ = f32
_ = ratio
}نوع string
السلاسل النصية في Go هي تسلسلات بايت غير قابلة للتغيير بترميز UTF-8:
- بين علامتي اقتباس مزدوجتين:
"Hello"— تدعم متتاليات الهروب - بين علامتي اقتباس خلفيتين:
`raw string`— لا تعالج محارف الهروب، ويمكن أن تمتد عبر عدة أسطر - تعيد
len(s)عدد البايتات لا عدد الأحرف - كرّر على الأحرف باستخدام
rangeللحصول على قيم rune
نوع bool
يحتوي النوع bool على قيمتين: true وfalse.
- قيمته الصفرية هي
false - العوامل المنطقية:
&&،||،! - تعيد عوامل المقارنة قيمة منطقية:
==،!=،<،> - لا تحوّل Go الأعداد الصحيحة ضمنيًا إلى قيم منطقية (بخلاف C)
ملخص القيم الصفرية
لكل نوع قيمة صفرية محددة بوضوح:
intوجميع الأنواع الرقمية →0float64→0.0string→""bool→false*Tوالشرائح والخرائط والقنوات والدوال →nil
تجعل القيم الصفرية شيفرة Go آمنة — فلا تقرأ أبدًا ذاكرة غير صالحة.
القيم الحرفية الرقمية
تدعم Go عدة صيغ للقيم الحرفية الرقمية:
package main
func main() {
dec := 1_000_000 // digit separators
hex := 0xFF
oct := 0o777
bin := 0b1010
sci := 1.5e3 // 1500.0
_ = dec; _ = hex; _ = oct; _ = bin; _ = sci
}أحجام الأنواع ونطاقاتها
تساعد معرفة أحجام الأنواع على منع أخطاء تجاوز السعة:
int8: من -128 إلى 127uint8: من 0 إلى 255int16: من -32768 إلى 32767int32: نحو ±2.1 مليارint64: نحو ±9.2 كوينتيليون
استخدم math.MaxInt64 والثوابت المماثلة من الحزمة math للحصول على الحدود الدقيقة.
rune وbyte
إن rune وbyte اسما نوع مستعاران يحملان دلالة معنوية:
byte=uint8— يُستخدم للبيانات الثنائية الخام أو بيانات ASCIIrune=int32— يُستخدم لنقاط ترميز Unicode
عند التكرار على سلسلة نصية باستخدام range، تمنحك Go قيم rune — وهذا مثالي للتعامل مع الأحرف متعددة البايتات بترميز UTF-8، مثل الرموز التعبيرية.
اختيار النوع المناسب
إرشادات لاختيار الأنواع الرقمية:
- استخدم
intافتراضيًا للعدادات والفهارس - استخدم
float64للحسابات العامة باستخدام الفاصلة العائمة - استخدم
int64/uint64للمعرّفات والطوابع الزمنية والعدادات الكبيرة - استخدم
int32فقط عند التعامل مع واجهات برمجة التطبيقات التي تتطلبه - تجنب
float32ما لم تكن تعمل على الرسومات أو بيانات محدودة المساحة
تحقق سريع
ما القيمة الصفرية لمتغير من النوع string في Go؟
مراجعة: الأنواع المضمنة
توفر لك الأنواع المضمنة في Go أساسًا متينًا:
- عائلة الأعداد الصحيحة:
int،int64،byte،rune - الفاصلة العائمة: يُفضّل استخدام
float64 stringهي بايتات UTF-8 غير قابلة للتغييرboolمعtrue/false- لكل نوع قيمة صفرية — لا مفاجآت
التالي: الثوابت ومُعدِّد iota القوي.
مهمة تدريبية
جرّب: صرّح عن متغير rune يحتوي على الحرف 'A'، ومتغير byte يحتوي على القيمة 65. اطبع كليهما — ومن المفترض أن ينتجا القيمة الرقمية نفسها. ثم جرّب التكرار على سلسلة نصية قصيرة من الرموز التعبيرية لرؤية قيم rune عمليًا.
تعلم Go مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 51
- الدروس
- 203
الأسئلة الشائعة
هل درس «الأنواع المضمّنة في Go» مجاني؟
نعم — نص درس «الأنواع المضمّنة في Go» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Go Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Go Academy 4 دروس في المجموع.
ماذا ستتعلم في «الأنواع المضمّنة في Go»؟
int وfloat64 وstring وbool والقيم الصفرية الخاصة بها تتمرن على Go Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Go Academy؟
لا تُشترط خبرة سابقة. Go Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «الأنواع المضمّنة في Go»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Go Academy هذا؟
نعم. كل درس في Go Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف المتغيرات في Go
- الأنواع المضمّنة في Go
- الثوابت وiota
- تحويلات الأنواع في Go