go語(yǔ)言實(shí)現(xiàn)猜數(shù)字小游戲的方法
本文實(shí)例講述了go語(yǔ)言實(shí)現(xiàn)猜數(shù)字小游戲的方法。分享給大家供大家參考。具體分析如下:
隨機(jī)生成一個(gè)數(shù)字,輸入一個(gè)數(shù)字看是否匹對(duì),匹配則結(jié)速,反之提示是大了還是小了
import (
"bufio"
"fmt"
"math/rand"
"os"
"strconv"
"time"
)
var (
endNum int //設(shè)置生成數(shù)的范圍
)
func main() {
i := createRandomNumber(endNum)
//fmt.Println("生成規(guī)定范圍內(nèi)的整數(shù):", i) //本句調(diào)試用
fmt.Println("請(qǐng)輸入整數(shù),范圍為:0-", endNum)
flag := true
reader := bufio.NewReader(os.Stdin)
for flag {
data, _, _ := reader.ReadLine()
command, err := strconv.Atoi(string(data)) //string to int,并作輸入格式判斷
if err != nil {
fmt.Println("格式不對(duì),請(qǐng)輸入數(shù)字")
} else {
fmt.Println("你輸入的數(shù)字:", command)
if command == i {
flag = false
fmt.Println("恭喜你,答對(duì)了~")
} else if command < i {
fmt.Println("你輸入的數(shù)字小于生成的數(shù)字,別灰心!再來(lái)一次~")
} else if command > i {
fmt.Println("你輸入的數(shù)字大于生成的數(shù)字,別灰心!再來(lái)一次~")
}
}
}
}
func init() {
endNum = 10
}
//生成規(guī)定范圍內(nèi)的整數(shù)
//設(shè)置起始數(shù)字范圍,0開(kāi)始,endNum截止
func createRandomNumber(endNum int) int {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
return r.Intn(endNum)
}
希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。
相關(guān)文章
Go語(yǔ)言CSP并發(fā)模型實(shí)現(xiàn)MPG
這篇文章主要為大家介紹了Go語(yǔ)言CSP并發(fā)模型實(shí)現(xiàn)MPG圖文詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
詳解Golang中errors包如何返回自定義error類型
這篇文章主要為大家詳細(xì)介紹了Golang中errors包如何返回自定義error類型,文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09
詳解如何解決golang定時(shí)器引發(fā)的id重復(fù)問(wèn)題
這篇文章主要為大家詳細(xì)介紹了如何解決golang定時(shí)器引發(fā)的id重復(fù)問(wèn)題,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
Go+Vue開(kāi)發(fā)一個(gè)線上外賣應(yīng)用的流程(用戶名密碼和圖形驗(yàn)證碼)
這篇文章主要介紹了Go+Vue開(kāi)發(fā)一個(gè)線上外賣應(yīng)用(用戶名密碼和圖形驗(yàn)證碼),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
快速解決Golang Map 并發(fā)讀寫安全的問(wèn)題
這篇文章主要介紹了快速解決Golang Map 并發(fā)讀寫安全的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12

