🐹 شرح Go

المصفوفات والشرائح (Slices)

المصفوفة (ثابتة الحجم)

var nums [3]int = [3]int{1, 2, 3}
nums[0] = 10
len(nums)   // 3

الحجم جزء من النوع — [3]int[4]int. نادرًا ما تُستخدم مباشرة.

الشريحة (Slice) — الأكثر استخدامًا

ديناميكية الحجم:

fruits := []string{"تفاح", "موز"}
fruits = append(fruits, "برتقال")
len(fruits)   // 3

make

لإنشاء شريحة بطول وسعة محدّدين:

s := make([]int, 3)      // [0 0 0]
s := make([]int, 0, 10)  // طول 0 سعة 10

التقطيع (Slicing)

nums := []int{10, 20, 30, 40, 50}
nums[1:3]   // [20 30]
nums[:2]    // [10 20]
nums[2:]    // [30 40 50]

المرور

for i, v := range fruits {
  fmt.Println(i, v)
}

نسخ وحذف

copy(dst, src)                          // نسخ
s = append(s[:2], s[3:]...)             // حذف العنصر 2

💡 الشريحة تشير لمصفوفة أساسية — تعديلها قد يؤثّر على شرائح أخرى تشاركها.

🎯 التالي: الخرائط (Maps).