我在Go中创建了一个非常小的数字猜测游戏。问题是,它在Windows和Linux下的执行方式不同。例如,通过在Ubuntu上执行它,一切正常。但是当我尝试在Windows下启动它时,它编译得很好,但在执行时我输入的东西(例如5)它打印了两次“比随机数小”或“大于随机数”。我不知道为什么会这样。
package main
import (
"fmt"
"math/rand"
"time"
)
func main () {
var number int //declaration
var tries int = 0
random_number := random(1, 9) //gets random number
for ; ;tries++ {
//fmt.Printf("Enter your prediction: ")
fmt.Scanf("%v",&number)
if number == random_number {
break;
} else if number<random_number{
fmt.Printf("Smaller than random num\n")
} else {
fmt.Printf("Bigger than random num\n")
}
}
fmt.Printf("You guessed correctly in %v tries",tries)
}
func random(min, max int) int {
rand.Seed(time.Now().Unix())
return rand.Intn(max - min) + min
}