سؤال:
هل هناك طريقة للحصول على نتائج عشوائية حقًا في كل مرة تسمى الوظيفة؟
الإجابة: في كل مرة يتم تشغيل البرنامج ، يقوم PRNG بإنشاء نفس تسلسل الأرقام استنادًا إلى قيمة أولية ثابتة تُعرف باسم "البذور". يتمثل أحد الأساليب الشائعة في استخدام الوقت الحالي في النانو ثانية ، والتي تتغير في كل مرة يتم فيها تنفيذ البرنامج. يمكن القيام بذلك باستخدام الكود التالي:
استيراد "الوقت" Func Main () { rand.seed (time.now (). Unixnano ()) fmt.println (rand.int31n (100)) }
بدلاً من ذلك ، توفر حزمة التشفير/RAND مصدرًا أكثر أمانًا للعشوائية. يجمع إنتروبيا من مصادر النظام المختلفة ، مثل حركات الماوس ودرجة حرارة المعالج وإدخال لوحة المفاتيح. ومع ذلك ، قد يكون أدائها أبطأ مقارنة بحزمة RAND.
من خلال تعيين بذرة فريدة أو استخدام حزمة التشفير/الراند ، يمكنك التأكد من أن وظيفة Rand.Int31N تنشئ أرقامًا عشوائية حقًا في كل مرة يطلق عليها.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3