发布时间:2024-11-22 00:14:21
第一种方法是使用rand.Float64()函数。该函数返回一个介于0.0和1.0之间的浮点数。我们可以通过简单的乘法和加法来生成指定范围内的随机浮点数。例如,要生成介于a和b之间的随机浮点数,可以使用以下代码:
randFloat := a + rand.Float64()*(b-a)
第二种方法是使用rand.ExpFloat64()函数。该函数返回一个介于0.0和+Inf之间的随机指数浮点数。它具有指数分布的特性,即较小的值出现的概率更高。这在某些特定场景中非常有用,如模拟一些现实世界中具有指数分布的数据。要生成指定范围的随机指数浮点数,可以使用以下代码:
randExpFloat := rand.ExpFloat64()*(b-a) + a
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
price := 40.0 + rand.Float64()*(60.0-40.0)
fmt.Println(price)
}
运行以上代码,我们将获得一个在40.0和60.0之间的随机股票价格。
package main
import (
"fmt"
"math/rand"
"time"
)
type Coordinate struct {
Latitude float64
Longitude float64
}
func main() {
rand.Seed(time.Now().UnixNano())
coordinate := Coordinate{
Latitude: -90.0 + rand.Float64()*(90.0-(-90.0)),
Longitude: -180.0 + rand.Float64()*(180.0-(-180.0)),
}
fmt.Println(coordinate)
}
以上代码将生成一个随机的地理坐标。