亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go語言實現(xiàn)猜數(shù)字小游戲

 更新時間:2020年10月26日 11:32:23   作者:南柯釣魚  
這篇文章主要為大家詳細介紹了Go語言實現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

利用Go語言實現(xiàn)一個四位數(shù)字,而且不重復(fù)的猜數(shù)字游戲,解題思路是先利用rand隨機函數(shù)產(chǎn)生一個四位數(shù),然后通過切片進行引用傳遞,設(shè)定用戶可以輸入的數(shù)字,最后分別遍歷切片四位數(shù)字與產(chǎn)生的四位數(shù)是否相同

package main
 
import "fmt"
import(
 "math/rand"
 "time"
)
 
func CreateNum(p *int){
 //設(shè)置種子
 rand.Seed(time.Now().UnixNano())
 
 var num int
 for{
 num=rand.Intn(10000)//四位數(shù)
 if num>=1000{
 break
 }
 }
 //fmt.Println("num=",num)
 *p=num
}
func GetNum(s []int,num int){
 s[0]=num/1000  //取千位
 s[1]=num%1000/100 //取百位
 s[2]=num%100/10 //取十位
 s[3]=num%10  //取個位
}
func OnGame(randSlice []int){
 var num int
 keySlice:=make([]int,4)
 for{
 for{
 fmt.Printf("請輸入一個四位數(shù):")
 fmt.Scan(&num)
 
 if 999<num&&num<10000{
 break
 }
 fmt.Println("輸入的數(shù)不符合要求...")
 }
 //fmt.Println("num=",num)
 GetNum(keySlice,num)
 //fmt.Println("keySlice=",keySlice)
 n:=0
 for i:=0;i<4;i++{
 if keySlice[i]>randSlice[i]{
 fmt.Printf("第%d位大了一點\n",i+1)
 }else if keySlice[i]<randSlice[i]{
 fmt.Printf("第%d位小了一點\n",i+1)
 }else{
 fmt.Printf("第%d位猜對了\n",i+1)
 n++
 }
 }
 if n==4{
 fmt.Println("恭喜您!全部猜對了!")
 break //跳出最外層循環(huán)
 }
 }
}
func main(){
 fmt.Println("******歡迎進入猜數(shù)字游戲******")
 
 var randNum int
 CreateNum(&randNum)
 
 //fmt.Println("randNum=",randNum)
 
 randSlice:=make([]int,4) //保留四位數(shù)字的每一位
 GetNum(randSlice,randNum) //切片是引用傳遞
 //fmt.Println("randSlice=",randSlice)
 OnGame(randSlice)
 
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • go中string、int、float相互轉(zhuǎn)換方式

    go中string、int、float相互轉(zhuǎn)換方式

    這篇文章主要介紹了go中string、int、float相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Golang實現(xiàn)for循環(huán)運行超時后自動退出的方法

    Golang實現(xiàn)for循環(huán)運行超時后自動退出的方法

    for循環(huán)對大家來說應(yīng)該都不陌生,對于golang來說更是必不可少,所以下面這篇文章就來給大家介紹了關(guān)于Golang如何實現(xiàn)for循環(huán)運行一段時間超時后自動退出的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Go語言map不支持并發(fā)寫操作的原因

    Go語言map不支持并發(fā)寫操作的原因

    Go語言為什么不支持并發(fā)讀寫map?,Go官方的說法是在多數(shù)情況下map只存在并發(fā)讀操作,如果原生支持并發(fā)讀寫,即降低了并發(fā)讀操作的性能,在使用?map?時,要特別注意是否存在對?map?的并發(fā)寫操作,如果存在,要結(jié)合?sync?包的互斥鎖一起使用,
    2024-01-01
  • Go?實現(xiàn)?WebSockets之創(chuàng)建?WebSockets

    Go?實現(xiàn)?WebSockets之創(chuàng)建?WebSockets

    這篇文章主要介紹了Go?實現(xiàn)?WebSockets之創(chuàng)建?WebSockets,文章主要探索?WebSockets,并簡要介紹了它們的工作原理,并仔細研究了全雙工通信,想了解更多相關(guān)內(nèi)容的小伙伴可以參考一下
    2022-04-04
  • 入門學(xué)習(xí)Go的基本語法

    入門學(xué)習(xí)Go的基本語法

    這篇文章主要介紹了Go語法的基本概念,本文講解了Golang的基本知識、基礎(chǔ)語法、相關(guān)術(shù)語等,需要的朋友可以參考下,希望能幫助到你
    2021-07-07
  • go實現(xiàn)redigo的簡單操作

    go實現(xiàn)redigo的簡單操作

    golang操作redis主要有兩個庫,go-redis和redigo,今天我們就一起來介紹一下redigo的實現(xiàn)方法,需要的朋友可以參考下
    2018-07-07
  • 詳解Go語言如何解決map并發(fā)安全問題

    詳解Go語言如何解決map并發(fā)安全問題

    常說go語言是一門并發(fā)友好的語言,對于并發(fā)操作總會在編譯期完成安全檢查,所以這篇文章我們就來聊聊go語言是如何解決map這個數(shù)據(jù)結(jié)構(gòu)的線程安全問題吧
    2024-04-04
  • 詳解Golang函數(shù)式選項(Functional?Options)模式

    詳解Golang函數(shù)式選項(Functional?Options)模式

    什么是函數(shù)式選項模式,為什么要這么寫,這個編程模式解決了什么問題呢?其實就是為了解決動態(tài)靈活的配置不同的參數(shù)的問題。下面通過本文給大家介紹Golang函數(shù)式選項(Functional?Options)模式的問題,感興趣的朋友一起看看吧
    2021-12-12
  • Golang學(xué)習(xí)筆記(五):函數(shù)

    Golang學(xué)習(xí)筆記(五):函數(shù)

    這篇文章主要介紹了Golang學(xué)習(xí)筆記(五):函數(shù)的相關(guān)資料,本文講解了基本語法、多返回值及命名返回參數(shù)、參數(shù)傳遞:傳值與傳指針、參數(shù)傳遞:可變參數(shù)、匿名函數(shù)、函數(shù)作為值、類型等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • 淺析Go中關(guān)于零值和空值判斷的問題

    淺析Go中關(guān)于零值和空值判斷的問題

    這篇文章主要是對零值和空值判斷現(xiàn)狀進行簡單的梳理和分享,文中的示例代碼講解詳細,對我們深入了解go語言有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-08-08

最新評論