Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menjana nombor titik terapung rawak di Golang?
Untuk menjana nombor titik terapung rawak di Golang, terdapat dua kaedah biasa: gunakan pakej matematik/rand dan panggil rand.Float64() untuk menjana nombor titik terapung dalam julat [0, 1). Gunakan pakej crypto/rand untuk menjana tatasusunan bait rawak dan tukarkannya kepada nombor titik terapung, yang sesuai untuk senario rawak selamat.
Terdapat banyak cara untuk menjana nombor titik terapung rawak di Golang Hari ini kami akan memperkenalkan dua kaedah yang paling biasa digunakan.
Pakej math/rand
menyediakan pelbagai kaedah untuk menjana nombor rawak, termasuk menjana nombor titik terapung rawak dalam julat [0, 1). Begini cara untuk menggunakannya: math/rand
包提供了多种生成随机数的方法,包括生成 [0, 1) 范围内的随机浮点数。以下是如何使用它:
package main import ( "fmt" "math/rand" "time" ) func main() { // 设置随机数种子 rand.Seed(time.Now().UnixNano()) // 生成随机浮点数 randomFloat := rand.Float64() fmt.Println(randomFloat) // 输出:0.3456789012345678 }
rand.Float64()
会生成一个 [0, 1) 范围内的随机浮点数。
crypto/rand
包用于生成安全随机数,也非常适合生成随机浮点数。以下是它的使用方法:
package main import ( "crypto/rand" "encoding/binary" "fmt" ) func main() { // 生成随机字节数组 bytes := make([]byte, 8) _, err := rand.Read(bytes) if err != nil { panic(err) } // 将字节数组转换成浮点数 bits := binary.BigEndian.Uint64(bytes) randomFloat := float64(bits) / float64(1<<64) fmt.Println(randomFloat) // 输出:0.3456789012345678 }
crypto/rand.Read()
package main import ( "fmt" "math/rand" "time" ) func main() { // 设置随机数种子 rand.Seed(time.Now().UnixNano()) // 生成随机折扣(0.01 到 0.5) discount := 0.01 + rand.Float64() * 0.49 fmt.Println(discount) // 输出:0.23456789012345678 }
rand.Float64()
menjana nombor titik terapung rawak dalam julat [0, 1). Gunakan pakej crypto/rand Pakejcrypto/rand
digunakan untuk menjana nombor rawak selamat dan juga sangat sesuai untuk menjana nombor titik terapung rawak. Begini cara untuk menggunakannya: rrreee
crypto/rand.Read()
menjana tatasusunan bait rawak, yang kemudiannya kita tukar kepada apungan. 🎜🎜Kes Praktikal🎜🎜 Katakan kita mempunyai aplikasi e-dagang yang perlu menjana diskaun rawak. Kita boleh menggunakan kod berikut: 🎜rrreee🎜Kod ini akan menjana nombor titik terapung rawak dalam julat [0.01, 0.5), yang boleh digunakan sebagai diskaun rawak. 🎜Atas ialah kandungan terperinci Bagaimana untuk menjana nombor titik terapung rawak di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!