المصفوفة (ثابتة الحجم)
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).