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

كيفية تحويل int32 بكفاءة إلى سلسلة في Golang؟

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

How to Efficiently Convert int32 to String in Golang?

تحويل int32 إلى سلسلة في Golang

يمكن أن يكون تحويل int32 إلى سلسلة في Golang أمرًا مباشرًا من خلال حل موجز: fmt.Sprint(i) . ومع ذلك، إذا لم تكن هذه الطريقة المباشرة كافية، فهناك العديد من خيارات التحويل المتاحة:

    وظيفة التحويل المخصصة
  1. : هذه هي أسرع طريقة، وتتضمن كتابة وظيفة التحويل الخاصة بك.
  2. fmt.Sprint(i)
  3. : يعد هذا أسلوبًا أبطأ مقارنةً بالوظيفة المخصصة ولكنه يظل خيارًا.
  4. strconv.Itoa(int(i) )
  5. : على الرغم من أنه أسرع قليلاً من fmt.Sprint(i)، إلا أنه يتطلب تحويل int32 إلى int قبل التحويل.
  6. strconv.FormatInt(int64(i), 10)
  7. : هذا هي طريقة أسرع مقارنة بـ strconv.Itoa(int(i)) حيث إنها تحول مباشرة int32 إلى int64 ثم إلى سلسلة.
  8. تشير مقاييس الأداء إلى أن وظيفة التحويل المخصصة (String) هي الأكثر فعالة، متبوعة بـ strconv.FormatInt، وstrconv.Itoa، وfmt.Sprint.

إليك مقتطف رمز يوضح المقارنة:

package main يستورد ( "إف إم تي" "ستركونف" "وقت" ) الوظيفة الرئيسية () { سلسلة فار أنا := int32(-2147483648) ر := الوقت.الآن () ل ي := 0; ي package main import ( "fmt" "strconv" "time" ) func main() { var s string i := int32(-2147483648) t := time.Now() for j := 0; j ), i/10 if i == 0 { if signed { pos-- buf[pos] = '-' } return string(buf[pos:]) } } }
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3