randパッケージはIntn()で範囲指定の乱数を生成できるが,floatでは出来ないので下記のコードで生成する.
main.go
package main
import (
"fmt"
"math/rand"
"time"
)
func random(min, max float64) float64 {
rand.Seed(time.Now().UnixNano())
return rand.Float64()*(max-min) + min
}
func main() {
max, min := 0.0, 5.0
for i := 0; i < 5; i++ {
fmt.Println(random(max, min))
}
}
実行結果
$ go run main.go
4.5879148973737935
3.7805664986881684
0.4223481031130064
2.6733873103691015
4.961673820044476