如何在Go語言中獲取Float32型別的隨機數?


在許多程式設計應用中,生成隨機數是一項常見的任務。在Go語言中,我們可以使用math/rand包來生成隨機數。在本文中,我們將探討如何在Go語言中獲取Float32型別的隨機數。

使用Rand包

Go語言中的math/rand包提供了一種簡單的方法來生成隨機數。我們可以使用Float32()函式生成Float32型別的隨機數。

示例

這是一個示例:

package main

import (
   "fmt"
   "math/rand"
   "time"
)

func main() {
   rand.Seed(time.Now().UnixNano())
   num := rand.Float32()
   fmt.Println("Random number:", num)
}

在此程式碼中,我們使用rand.Seed()函式用當前時間播種隨機數生成器。然後,我們使用rand.Float32()函式生成Float32型別的隨機數,並將其列印到控制檯。

輸出

Random number: 0.2767483

生成範圍內的Float32型別隨機數

我們還可以使用rand.Float32()函式生成範圍內的Float32型別隨機數。我們可以透過從最大值中減去最小值並將其乘以生成的隨機數來指定範圍。然後,我們新增最小值以獲得所需範圍內的隨機數。

示例

這是一個示例:

package main

import (
   "fmt"
   "math/rand"
   "time"
)

func main() {
   rand.Seed(time.Now().UnixNano())
   min := float32(1.0)
   max := float32(10.0)
   num := rand.Float32() * (max - min) + min
   fmt.Println("Random number between", min, "and", max, ":", num)
}

在此程式碼中,我們使用rand.Seed()函式用當前時間播種隨機數生成器。然後,我們定義隨機數範圍的最小值和最大值。我們使用公式rand.Float32() * (max - min) + min來生成最小值和最大值之間的隨機數,並將其列印到控制檯。

輸出

Random number between 1 and 10 : 7.9311614

結論

使用math/rand包,在Go語言中生成Float32型別的隨機數既簡單又直接。我們可以使用rand.Float32()函式生成Float32型別的隨機數,並使用公式rand.Float32() * (max - min) + min生成最小值和最大值之間的隨機數範圍。

更新於:2023年5月5日

瀏覽量:187

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.