这是我正在使用的代码:
package main
import "fmt"
import "math/rand"
func main() {
code := rand.Intn(900000)
fmt.Println(code)
}
Run Code Online (Sandbox Code Playgroud)
它总是回归698081.我不明白,有什么问题?
编辑:
我试过了 rand.Seed
package main
import "fmt"
import "time"
import "math/rand"
func main() {
rand.Seed(time.Now().UnixNano())
code := rand.Intn(900000)
fmt.Println(code)
}
Run Code Online (Sandbox Code Playgroud)
没有变化.现在它总是回归452000
Leo*_*rea 14
您在操场上看到相同结果的几个原因
最后但并非最不重要的是,rand包默认种子1将使结果具有确定性.如果你放置一个,rand.Seed(time.Now().UnixNano())你会在每次执行时收到不同的结果.请注意,由于上述第二个原因,这不适用于操场.