Um zufällige Gleitkommazahlen in Golang zu generieren, gibt es zwei gängige Methoden: Verwenden Sie das Paket math/rand und rufen Sie rand.Float64() auf, um Gleitkommazahlen im Bereich [0, 1) zu generieren. Verwenden Sie das Paket crypto/rand, um ein zufälliges Byte-Array zu generieren und es in eine Gleitkommazahl umzuwandeln, die für sichere Zufälligkeitsszenarien geeignet ist.
Es gibt viele Möglichkeiten, in Golang zufällige Gleitkommazahlen zu generieren. Heute stellen wir die beiden am häufigsten verwendeten Methoden vor.
Das Paket math/rand
bietet eine Vielzahl von Methoden zum Generieren von Zufallszahlen, einschließlich der Generierung zufälliger Gleitkommazahlen im Bereich [0, 1). So verwenden Sie es: 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()
generiert eine zufällige Gleitkommazahl im Bereich [0, 1). Verwenden Sie das Paket crypto/rand. Das Paket crypto/rand
wird zum Generieren sicherer Zufallszahlen verwendet und eignet sich auch sehr gut zum Generieren zufälliger Gleitkommazahlen. So verwenden Sie es: rrreee
crypto/rand.Read()
generiert ein zufälliges Byte-Array, das wir dann in ein Float konvertieren. Praktischer Fall🎜🎜Angenommen, wir haben eine E-Commerce-Anwendung, die zufällige Rabatte generieren muss. Wir können den folgenden Code verwenden: 🎜rrreee🎜Dieser Code generiert eine zufällige Gleitkommazahl im Bereich [0,01, 0,5), die als zufälliger Rabatt verwendet werden kann. 🎜Das obige ist der detaillierte Inhalt vonWie generiert man zufällige Gleitkommazahlen in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!