لذا ، فأنت تغوص في الذهاب وتسمع عن الشرائح. "ما هي الشرائح حتى؟" قد تتساءل. ليست صفائف كافية؟ حسنًا ، دعنا نقسمها! الشرائح هي ميزة قاتلة في GO. إنهم يحبون المصفوفات ، لكنهم أكثر برودة - فهي ديناميكية ومرنة ، قادرة على النمو والتقلوب مع احتياج البرنامج الخاص بك. ولكن هناك صيد أو اثنين على طول الطريق. دعنا نفشل كل شيء ونجلب لك شريحة!
في جوهرها ، الشرائح هي صفائف. ولكن على عكس المصفوفات الثابتة ، فإن الشرائح ديناميكية ؛ يمكن أن يتغير حجمها ، وهو مفيد للغاية عندما لا يمكن التنبؤ باحتياجات البيانات الخاصة بك. تخيل أنك حصلت على قائمة بالعناصر ، وأحيانًا تكون 5 عناصر ، ولكن في أوقات أخرى قد تكون 50! الشرائح تجعل ذلك لا صفقة كبيرة. انهم فقط تغيير حجم أنفسهم - كيندا مثل السحر. ✨
ولكن إليك الصفقة: في كل مرة يتغير فيها شريحة حجم ، يتم إنشاء صفيف جديد تحته ، ويتم نسخ البيانات إلى هذه المجموعة الجديدة. مريح؟ قطعاً! ولكن هناك بعض التكلفة الحسابية هنا. كل تغييرات تعني GO يجب أن تخصيص ذاكرة جديدة وخلط الأشياء حولها.
إليك نصيحة GO مفيدة لـ YA: إذا كنت تعلم أنك ستحتاج إلى مساحة كبيرة لشريحة ، فاستخدم وظيفة Make. مع Make ([] t ، len ، cap) ، فأنت تقول Go: "مهلا ، أعطني شريحة من هذا النوع ، بهذا الطول ، وهذا السعة." وجود سعة أولية جاهزة للذهاب يوفر لك تكلفة تغيير حجمها لاحقًا. ذكي ، أليس كذلك؟
numbers := make([]int, 0, 100)
تبدأ هذه الشريحة بسعة 100 ولكن ليس لديها عناصر فيه حتى الآن. أنت مستعد لملئه دون تغيير حجم الأشياء باستمرار. على المدى الطويل ، يمكنك توفير الأداء.
كل شريحة لها طول (LEN) وقدرة (CAP) ، وتلعب أدوارًا مختلفة:
عندما تريد أن تنمو شريحة ، فإن الإلحاق هو وظيفة الانتقال. تم تصميمه لإضافة عناصر في نهاية شريحة الشريحة الخاصة بك ، وتغيير حجم الشريحة تلقائيًا إذا لزم الأمر. قل وداعا للأخطاء خارج الحدود (حسنا ، في الغالب)!
numbers := []int{1, 2, 3} numbers = append(numbers, 4, 5, 6)
إذا كانت الشريحة لديها سعة كافية لتناسب العناصر الجديدة ، فستستخدمها. إذا لم يكن الأمر كذلك ، يقوم Append بإنشاء مجموعة جديدة مع مساحة أكبر وتنقل بياناتك. بسيط على هذا النحو! وفقًا لـ DETAFITION GO ، إذا كانت السعة غير كافية ، فسيقوم Append "بتخصيص صفيف أساسي جديد". أنيق جدا ، أليس كذلك؟
شرائح في GO هي صديقك - وقوي في ذلك. يتيحون لك العمل مع مجموعات من البيانات بمرونة ، كل ذلك أثناء إخفاء بعض التفاصيل الشديدة لإدارة الذاكرة. لكن تذكر: مع القوة العظيمة تأتي مسؤولية كبيرة. كل تغيير حجم يأتي مع القليل من النفقات العامة الحسابية. من خلال فهم كيفية عمل الشرائح وكيف يمكن أن تساعد صنع وإلحاق ، فأنت في طريقك إلى كتابة رمز GO فعال وأنيق.
فعالة
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3