Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

إضافة عنصر إلى الشريحة

الدرس 3 من 21 في دورة الشرائح والخرائط في Golang على Coddy.

في الدروس الأخيرة، ناقشنا أن الفرق بين الشريحة (slice) والمصفوفة (array) يكمن في حجمهما، وهو ما يتضح عند التحقق من الطول.

على سبيل المثال، إذا قمنا بتعريف شريحة بهذا الشكل:

nums := []int{23, 5, 6}

تحتوي الشريحة الخاصة بنا على ثلاثة عناصر، والتحقق من الطول باستخدام دالة <strong>len()</strong> يعطينا 3:

nums := []int{23, 5, 6}
fmt.Println(len(nums)) // 3

إذا أضفنا عناصر إلى الشريحة وتحققنا من الحجم، فسنحصل على الحجم الجديد:

nums := []int{23, 5, 6, 9, 22}
fmt.Println(len(nums)) // 5

على العكس من ذلك، المصفوفة لها حجم ثابت. على سبيل المثال:

nums := [4]int{23}
fmt.Println(len(nums)) // 4

على الرغم من أنها تحتوي على عناصر أقل من 4، إلا أن الطول يظل ثابتاً.

يتم إضافة عناصر إلى الشريحة باستخدام <strong>append</strong>:

books := []string{"Python", "Rust"}
books = append(books, "Golang")
fmt.Println(books)

تشغيل هذا يعطي:

[Python Rust Golang]

في لغة Golang، تأتي الشرائح مع دوال مدمجة، ودالة <strong>append()</strong> هي واحدة منها، مما يمكننا من إضافة عناصر جديدة إلى شريحة موجودة.

لاحظ أنه نظراً للحجم الديناميكي للشرائح، لا يمكننا استخدام الفهرس (index) لإضافة عناصر (لن تعمل <strong>books[2] = "Golang"</strong>).

challenge icon

التحدي

سهل

اكتب برنامجاً يأخذ 3 مدخلات من المستخدم ويضيفها إلى شريحة (slice) تسمى <strong>coddy</strong> كما هو محدد في الكود المعطى. قم بتنفيذ الخطوات التالية:

  1. اطبع طول (length) الـ slice قبل إضافة العناصر.
  2. أضف العناصر إلى الـ slice.
  3. اطبع الـ slice والطول المحدث بعد إضافة العناصر (في أسطر مختلفة).

جرّب بنفسك

package main

import "fmt"

func main() {
    // احصل على المدخلات من المستخدم لا تغير هذا!
    var first, second, third string
	fmt.Scan(&first)
	fmt.Scan(&second)
	fmt.Scan(&third)
	// تعريف الشريحة (Slice)
    coddy := []string {"SQL","Rust","C#","Golang"}
    // طباعة الطول
    
    // إضافة عنصر إلى الشريحة
    
    // طباعة الشريحة والطول المحدث

}

جميع دروس الشرائح والخرائط في Golang