"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يمكن استخدام الشرائح كمفاتيح خريطة في Go؟

هل يمكن استخدام الشرائح كمفاتيح خريطة في Go؟

تم النشر بتاريخ 2024-11-11
تصفح:835

Can Slices Be Used as Map Keys in Go?

استخدام الشرائح والمصفوفات كمفاتيح للخريطة

في Go، يجب أن تنفذ مفاتيح الخريطة عاملي التشغيل == و != لمقارنة مساواتهما. لا تنفذ الشرائح عوامل التشغيل هذه، لذا لا يمكن استخدام الشرائح مباشرةً كمفاتيح خريطة. ومع ذلك، يمكن استخدام المصفوفات كمفاتيح خريطة لأنها تنفذ عوامل التشغيل الضرورية.

استخدام المصفوفات كمفاتيح خريطة

لاستخدام مصفوفة كمفتاح خريطة، يمكنك أعلن الخريطة باستخدام نوع الصفيف كنوع المفتاح. على سبيل المثال:

الحزمة الرئيسية استيراد "اف ام تي" الوظيفة الرئيسية () { م := جعل (خريطة[[2]int]bool) م[[2]int{1, 2}] = خطأ fmt.Printf("%v"، م) }
package main

import "fmt"

func main() {
    m := make(map[[2]int]bool)
    m[[2]int{1, 2}] = false
    fmt.Printf("%v", m)
}
تحتوي هذه الخريطة على نوع مفتاح [2]int، وهو عبارة عن مصفوفة مكونة من عددين صحيحين. نوع قيمة الخريطة هو منطقي.

استخدام الشرائح عن طريق التحويل إلى سلاسل

إذا كنت بحاجة إلى استخدام شريحة كمفتاح خريطة، فيمكنك تحويل الشريحة إلى سلسلة واستخدام السلسلة كمفتاح. على سبيل المثال:

الحزمة الرئيسية يستورد ( "إف إم تي" "ستركونف" ) الوظيفة الرئيسية () { م := جعل (خريطة [سلسلة] منطقي) m[strconv.Itoa([]string{"a", "b"})] = false fmt.Printf("%v"، م)
package main

import "fmt"

func main() {
    m := make(map[[2]int]bool)
    m[[2]int{1, 2}] = false
    fmt.Printf("%v", m)
}
تحتوي هذه الخريطة على نوع مفتاح من السلسلة، وهو عبارة عن تمثيل سلسلة لشريحة من السلاسل. نوع قيمة الخريطة هو منطقي.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3