AzLearn

أنواع البيانات

Data Types

مفهوم ~18 دقيقة

أنواع البيانات — Data Types

Go لغة ذات أنواع ثابتة (statically typed) — كل متغير له نوع محدد لا يتغير. هذا يجعل الكود أكثر أماناً وأسرع في التنفيذ.

الأنواع الأساسية

الأعداد الصحيحة (Integers)

النوعالحجمالمدى
int88 بت-128 إلى 127
int1616 بت-32,768 إلى 32,767
int3232 بت±2 مليار
int6464 بت±9.2 كوينتيليون
int32/64 بتحسب النظام
uint32/64 بتأعداد موجبة فقط
byte8 بتاسم مستعار لـ uint8

في معظم الحالات، استخدم int وخلاص — Go يختار الحجم المناسب.

الأعداد العشرية (Floats)

النوعالدقة
float32~7 خانات عشرية
float64~15 خانة عشرية (الافتراضي)

النصوص (Strings)

النصوص في Go هي غير قابلة للتغيير (immutable) ومُشفّرة بـ UTF-8 — يعني تدعم العربي بشكل ممتاز!

القيم المنطقية (Booleans)

bool — إما true أو false.

main.go

النصوص بالتفصيل (Strings)

النصوص في Go تدعم UTF-8 أصلاً — العربي يعمل بدون أي إعداد خاص:

main.go

تحويل الأنواع (Type Conversion)

Go لا تُحوّل الأنواع ضمنياً — يجب أن تكون صريحاً. هذا تصميم مقصود لمنع الأخطاء:

var x int = 42
var y float64 = float64(x)  // ✅ تحويل صريح
var z int = int(y)           // ✅ تحويل صريح

var a int32 = 100
var b int64 = int64(a)       // ✅ حتى بين أنواع int المختلفة
main.go

Rune — الأحرف

في Go، الحرف الواحد يُمثَّل بـ rune (اسم مستعار لـ int32). هذا مهم خاصة مع العربي:

main.go

القيم الصفرية (Zero Values)

كل نوع في Go له قيمة افتراضية:

النوعالقيمة الصفرية
int, float640
string"" (نص فارغ)
boolfalse
pointernil
تحدي — Challenge