這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
原文同步至:http://www.waylau.com/golang-game-guess-numbe/
隨機產生一個數字,輸入一個數字看是否匹對,匹配則結速,反之提示是大了還是小了,
代碼如下:
package mainimport ("bufio""fmt""math/rand""os""strconv""time")var (endNum int //設定產生數的範圍)func main() {i := createRandomNumber(endNum)//fmt.Println("產生規定範圍內的整數:", i) //本句調試用fmt.Println("請輸入整數,範圍為:0-", endNum)flag := truereader := bufio.NewReader(os.Stdin)for flag {data, _, _ := reader.ReadLine()command, err := strconv.Atoi(string(data)) //string to int,並作輸入格式判斷if err != nil {fmt.Println("格式不對,請輸入數字")} else {fmt.Println("你輸入的數字:", command)if command == i {flag = falsefmt.Println("恭喜你,答對了~")} else if command < i {fmt.Println("你輸入的數字小於產生的數字,別灰心!再來一次~")} else if command > i {fmt.Println("你輸入的數字大於產生的數字,別灰心!再來一次~")}}}}func init() {endNum = 10}//產生規定範圍內的整數//設定起始數字範圍,0開始,endNum截止func createRandomNumber(endNum int) int {r := rand.New(rand.NewSource(time.Now().UnixNano()))return r.Intn(endNum)}