اقتطاع الشرائح/المصفوفات الموجودة
جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 80 من 109.
يمكنك إنشاء شريحة جديدة من شريحة أو مصفوفة موجودة عن طريق تحديد نطاق باستخدام بناء الجملة [start:end].
قم بإنشاء شريحة من الأرقام:
numbers := []int{10, 20, 30, 40, 50}
fmt.Println("Original:", numbers)استخراج العناصر من الفهرس 1 إلى 3 (باستثناء 3):
slice1 := numbers[1:3]
fmt.Println("Slice [1:3]:", slice1)النتيجة:
Original: [10 20 30 40 50]
Slice [1:3]: [20 30]يمكنك أيضاً حذف فهرس البداية أو النهاية:
slice2 := numbers[:2] // من البداية إلى الفهرس 2 (باستثناء 2)
slice3 := numbers[3:] // من الفهرس 3 إلى النهاية
fmt.Println("Slice [:2]:", slice2)
fmt.Println("Slice [3:]:", slice3)النتيجة:
Slice [:2]: [10 20]
Slice [3:]: [40 50]التحدي
مبتدئفي هذا التحدي، ستتدرب على تقسيم شريحة (slice) موجودة لإنشاء شرائح فرعية جديدة. لديك شريحة من الفواكه، وتحتاج إلى إنشاء شريحتين جديدتين منها:
- شريحة تحتوي فقط على أول ثلاث فواكه
- شريحة تحتوي فقط على آخر فاكهتين
ثم قم بطباعة كلتا الشريحتين الجديدتين للتحقق من عملك.
ورقة مرجعية
قم بإنشاء شريحة (slice) جديدة من شريحة أو مصفوفة موجودة باستخدام بناء الجملة [start:end]:
numbers := []int{10, 20, 30, 40, 50}
slice1 := numbers[1:3] // Elements from index 1 to 3 (excluding 3)
fmt.Println(slice1) // [20 30]يمكنك حذف مؤشر البداية أو النهاية:
slice2 := numbers[:2] // From start to index 2 (excluding 2)
slice3 := numbers[3:] // From index 3 to end
fmt.Println(slice2) // [10 20]
fmt.Println(slice3) // [40 50]جرّب بنفسك
package main
import "fmt"
func main() {
// إليك شريحة الفواكه الأصلية الخاصة بنا
fruits := []string{"apple", "banana", "orange", "grape", "kiwi"}
// TODO: أنشئ شريحة جديدة تسمى 'firstThree' تحتوي فقط على أول ثلاث فواكه
// TODO: أنشئ شريحة جديدة تسمى 'lastTwo' تحتوي فقط على آخر فاكهتين
// طباعة النتائج
fmt.Println("First three fruits:", firstThree)
fmt.Println("Last two fruits:", lastTwo)
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمعاملات المنطقية
معاملات المقارنة - الجزء 1معاملات المقارنة - الجزء 2معامل AND المنطقيمعامل OR المنطقيمعامل NOT المنطقيأساسيات أولوية المعاملاتملخص - إجراء المقارنات7تدفق التحكم: الحلقات التكرارية
شرح حلقة `for`حلقة `for` - أساسياتحلقة `for` - بشرط فقطالكلمة المفتاحية `break`الكلمة المفتاحية `continue`الحلقات المتداخلةملخص - تكرار العمليات2المتغيرات وأنواع البيانات الأساسية
ما هو المتغير؟استنتاج النوع باستخدام `:=`الأعداد الصحيحة (int)أرقام الفاصلة العائمةالقيم المنطقية (Booleans)النصوص (Strings)القيم الصفريةالثوابتقواعد التسميةملخص - المتغيرات والأنواع5الإدخال والإخراج الأساسي
المخرجات المنسقةرموز التنسيقطباعة الأنواعالحصول على مدخلات المستخدم الأساسيةملخص - الإدخال والإخراج8الدوال
فهم الدوالالتصريح عن دالةاستدعاء الدوالمعاملات الدالةإرجاع قيمة واحدةإرجاع قيم متعددةقيم الإرجاع المسماةأساسيات نطاق الدالةملخص - إنشاء كود قابل لإعادة الاستخدام11الأنواع المركبة: الشرائح
مقدمة إلى الشرائحالتصريح عن القيم المباشرة للشرائحإنشاء الشرائح باستخدام `make`طول الشريحة مقابل سعتهاالوصول إلى عناصر الشريحةإضافة العناصراقتطاع الشرائح/المصفوفات الموجودةالتكرار عبر الشرائحنسخ الشرائحملخص - القوائم الديناميكية3المعاملات الأساسية
المعاملات الحسابيةمعامل القسمةمعامل باقي القسمةمعامل التعيينمعاملات التعيين المركبةالزيادة والنقصانملخص - الحسابات6تدفق التحكم: الجمل الشرطية
جملة `if`الكلمة المفتاحية `else`الكلمة المفتاحية `else if`تظليل المتغيرات في `if`تهيئة المتغيراتجملة `switch``switch` مع التعبيرات`switch` بدون تعبيرالكلمة المفتاحية `fallthrough`ملخص - اتخاذ القرارات