Rumah >pembangunan bahagian belakang >Golang >Mengapakah `rand.Intn()` Go Mengembalikan Nombor Yang Sama?
Go rand.Intn Mengembalikan Nombor Yang Sama
Dalam Go, fungsi rand.Intn() menjana integer pseudorandom antara 0 (termasuk ) dan n (eksklusif). Walau bagaimanapun, pengguna telah melaporkan bahawa kod mereka menggunakan fungsi ini sentiasa mengembalikan nilai yang sama. Mengapa ini berlaku?
Terdapat dua sebab utama untuk tingkah laku ini:
Kurang Permulaan:
Pakej rand mengekalkan Sumber global yang mendasari semua penjana nombor rawaknya, termasuk rand.Intn(). Secara lalai, Sumber ini tidak dimulakan, menghasilkan urutan nilai yang menentukan. Untuk membetulkannya, panggil rand.Seed() untuk memulakan Sumber dengan nilai rawak, biasanya diperoleh daripada jam sistem:
rand.Seed(time.Now().UnixNano())
Atas ialah kandungan terperinci Mengapakah `rand.Intn()` Go Mengembalikan Nombor Yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!