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

نصائح لتوليد أرقام عشوائية حقيقية في حزمة Go Language Rand

نشر في 2025-04-14
تصفح:672

How to Generate Truly Random Numbers with Go's Rand Package?

استكشاف الأخطاء وإصلاحها pseudo العدد العشوائي جيل في Go with the Rand package

سؤال:

هل هناك طريقة للحصول على نتائج عشوائية حقًا في كل مرة تسمى الوظيفة؟

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

استيراد "الوقت" Func Main () { rand.seed (time.now (). Unixnano ()) fmt.println (rand.int31n (100)) }

بدلاً من ذلك ، توفر حزمة التشفير/RAND مصدرًا أكثر أمانًا للعشوائية. يجمع إنتروبيا من مصادر النظام المختلفة ، مثل حركات الماوس ودرجة حرارة المعالج وإدخال لوحة المفاتيح. ومع ذلك ، قد يكون أدائها أبطأ مقارنة بحزمة RAND.

 من خلال تعيين بذرة فريدة أو استخدام حزمة التشفير/الراند ، يمكنك التأكد من أن وظيفة Rand.Int31N تنشئ أرقامًا عشوائية حقًا في كل مرة يطلق عليها.
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3