الشريحة Slice في لغة Go هي بنية بيانات أكثر مرونة من المصفوفة، حيث يمكنها التوسع والتقلص أثناء تنفيذ البرنامج. تعتمد الشرائح داخليًا على المصفوفات لكنها توفر واجهة ديناميكية للتعامل مع البيانات.

إنشاء شريحة

package main
import "fmt"
func main() {
    nums := []int{1, 2, 3, 4}
    fmt.Println(nums)
}

إضافة عناصر باستخدام append

nums = append(nums, 5, 6)
fmt.Println(nums)

الشرائح من مصفوفة

arr := [5]int{10, 20, 30, 40, 50}
s := arr[1:4]
fmt.Println(s)

الطول والسعة

للشريحة طول len وسعة cap. الطول هو عدد العناصر الفعلية، والسعة هي العدد الأقصى قبل الحاجة لتوسيع الذاكرة.

fmt.Println(len(s), cap(s))