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

كيف يمكنني تفريغ عناصر المصفوفة مباشرة في المتغيرات في لعبة Go؟

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

How Can I Unpack Array Elements Directly into Variables in Go?

تفريغ عناصر المصفوفة في Go

يفتقر Go إلى البنية الملائمة لتفريغ عناصر المصفوفة مباشرة في المتغيرات الموجودة في Python. في حين أن النهج الأولي للسائل باستخدام متغير وسيط يعمل، فإنه يمكن أن يؤدي إلى تعليمات برمجية تشوش، خاصة في السيناريوهات المعقدة.

قيم الإرجاع المتعددة

لمعالجة هذا، يوصى الحل هو إنشاء دالة تقوم بإرجاع قيم متعددة. على سبيل المثال، لتقسيم سلسلة وتفكيك النتائج إلى متغيرين، يمكن استخدام دالة كهذه:

func splitLink(s, sep string) (string, string) {
    x := strings.Split(s, sep)
    return x[0], x[1]
}

باستخدام هذه الوظيفة، يمكن استخدام الكود التالي لفك ضغط السلسلة المقسمة:

name, link := splitLink("foo\thttps://bar", "\t")

وسيطات المؤشر المتغير

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

func unpack(s []string, vars... *string) {
    for i, str := range s {
        *vars[i] = str
    }
}

لفك ضغط مصفوفة، يمكن استخدام الكود أدناه:

var name, link string
unpack(strings.Split("foo\thttps://bar", "\t"), &name, &link)

يسمح هذا الأسلوب بتفريغ المصفوفات من أي حجم، ولكنه يتطلب إعلانًا صريحًا عن المتغيرات ويعتبر أقل قابلية للقراءة من قبل بعض المطورين.

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

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

Copyright© 2022 湘ICP备2022001581号-3