English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في لغة Go،قصاصةمقارنةمجموعةأقوى، مرنة، مريحة، وثقيلة. القصاصة هي بنية بيانات متغيرة الطول تستخدم لتخزين عناصر من نوع مشابه، ولا يسمح بتخزين أنواع مختلفة في نفس القصاصة.
لغة Go تسمح لك بترتيب عناصر قصاصات بناءً على نوع القصاصة. لذلك، يمكنك استخدام الوظائف التالية لترتيب قصاصات النوع int. هذه الوظائف معرف في حزمة sort، لذا يجب عليك استيراد حزمة sort في برنامجك للوصول إلى هذه الوظائف:
1.عدد صحيح:هذه الوظيفة تستخدم فقط لترتيب قصاصات الأعداد الصحيحة، وترتيب عناصر القصاصة في ترتيب تصاعدي.
النحو:
func Ints(slc []int)
في هذا السياق،slcتمثل عددًا صحيحًا. دعنا نتناول هذه المفهوم باستخدام مثال:
//ترتيب الأعداد package main import ( "fmt" "sort" ) //وظيفة Principal func main() { //استخدام تعريف مختصر، إنشاء وتحديد قصاصات scl1 := []int{400, 600, 100, 300, 500, 200, 900} scl2 := []int{-23, 567, -34, 67, 0, 12, -5} // عرض قطع fmt.Println("قطع (قبل):") fmt.Println("قطعة 1: ", scl1) fmt.Println("قطعة 2: ", scl2) //ترتيب قصاصات من الأعداد //استخدام وظيفة Ints sort.Ints(scl1) sort.Ints(scl2) // عرض النتيجة fmt.Println("\nقطع (بعد):") fmt.Println("قطعة 1: ", scl1) fmt.Println("قطعة 2: ", scl2) }
الخروج:
قطع (قبل): قطعة 1: [400 600 100 300 500 200 900] قطعة 2: [-23 567 -34 67 0 12 -5] قطع (بعد): قطعة 1: [100 200 300 400 500 600 900] قطعة 2: [-34 -23 -5 0 12 67 567]
2. IntsAreSorted:هذه الوظيفة تستخدم لتحقق من whether الشريط من نوع int هو في شكل تصنيف (مرتبة تصاعدي). إذا كان الشريط في شكل تصنيف، فإن هذه الطريقة تعود قيمة true؛ وإذا لم يكن الشريط في شكل تصنيف، فإنها تعود قيمة false.
النحو:
func IntsAreSorted(scl []int) bool
في هذا السياق،sclيعنيجزء من ints. دعنا نستخدم مثالاً للنقاش عن هذه النقطة:
// شرح برنامج Go حول كيفية التحقق // هل تم تصنيف الشريط من نوع int؟ package main import ( "fmt" "sort" ) func main() { // إنشاء وتحديد قطعة // استخدام بيانات الت声明 scl1 := []int{100, 200, 300, 400, 500, 600, 700} scl2 := []int{-23, 567, -34, 67, 0, 12, -5} // عرض قطع fmt.Println("قطع:") fmt.Println("قطعة 1: ", scl1) fmt.Println("قطعة 2: ", scl2) // التحقق من تصنيف قطعة // استخدام وظيفة IntsAreSorted res1 := sort.IntsAreSorted(scl1) res2 := sort.IntsAreSorted(scl2) // عرض النتيجة fmt.Println("\nنتيجة:") fmt.Println("هل تم تصفية قطعة 1؟: ", res1) fmt.Println("هل تم تصفية قطعة 2؟: ", res2) }
الخروج:
قطع: قطعة 1: [100 200 300 400 500 600 700] قطعة 2: [-23 567 -34 67 0 12 -5] نتيجة: هل تم تصفية قطعة 1؟: نعم هل تم تصفية قطعة 2؟: لا