为什么下面的Golang代码没有';我跑不了?
此代码运行并给出0到999之间的随机数:为什么下面的Golang代码没有';我跑不了?,go,Go,此代码运行并给出0到999之间的随机数: package main import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) fmt.Println(rand.Intn(999)) } 但是下面的代码拒绝运行并给出了一个错误 代码: package main import ( "fmt" "math/rand" "ti
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
fmt.Println(rand.Intn(999))
}
但是下面的代码拒绝运行并给出了一个错误
代码:
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
r := rand.Seed(time.Now().UnixNano())
fmt.Println(r.Intn(999))
}
错误消息:
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
r := rand.Seed(time.Now().UnixNano())
fmt.Println(r.Intn(999))
}
rand.Seed(time.Now().UnixNano())用作值
注意:我是stackOverflow新手,因此如果问题不符合规则或标准,请原谅。
rand.Seed
不返回任何值,这是一个无效函数。rand.Seed
不返回任何值,这是一个无效函数。这意味着,它为生成随机数设置了一些种子,并且不返回任何内容,但您尝试将其用作某个值
rand.seed
“设置”rand.Intn
,如果您愿意的话。当您调用rand.Seed
时,它会创建一个种子,以后可以与rand.Intn
一起使用rand.Intn
返回一个值,因此
rand.Seed(time.Now().UnixNano())
fmt.Println(rand.Intn(999))
工作。但是由于
rand.Seed
不返回值,因此对其调用rand.Intn
会返回错误。rand.Seed
“设置”rand.Intn
,如果您愿意的话。当您调用rand.Seed
时,它会创建一个种子,以后可以与rand.Intn
一起使用rand.Intn
返回一个值,因此
rand.Seed(time.Now().UnixNano())
fmt.Println(rand.Intn(999))
工作。但是由于
rand.Seed
不返回值,因此对其调用rand.Intn
会返回错误。rand.Seed
不会返回任何内容。它只初始化默认的伪随机数生成器。使用此种子,您只需调用rand.Intn
,而不是r.Intn
我相信r:=rand.Intn(999)
在使用rand.seed(time.Now().UnixNano())
初始化后,应该可以完成此任务。Matei,不。文档非常简单而且非常清晰!要么使用全局生成器,要么初始化命名的生成器。rand.Seed
不返回任何内容。它只初始化默认的伪随机数生成器。使用此种子,您只需调用rand.Intn
,而不是r.Intn
我相信r:=rand.Intn(999)
在使用rand.seed(time.Now().UnixNano())
初始化后,应该可以完成此任务。Matei,不。文档非常简单而且非常清晰!要么使用全局生成器,要么初始化命名的生成器。