إضافة عنصر إلى الشريحة
الدرس 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>).
التحدي
سهلاكتب برنامجاً يأخذ 3 مدخلات من المستخدم ويضيفها إلى شريحة (slice) تسمى <strong>coddy</strong> كما هو محدد في الكود المعطى. قم بتنفيذ الخطوات التالية:
- اطبع طول (length) الـ slice قبل إضافة العناصر.
- أضف العناصر إلى الـ slice.
- اطبع الـ 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
2الشرائح (Slices)
الشرائح مقابل المصفوفاتإضافة عنصر إلى الشريحةعملية التقطيعطرق التقطيعإعادة التقطيعسعة الشريحةالسعة القصوىالتكرار عبر الشريحةتحدي المراجعة #1