GO语言数组结合随机数小案例--------制作双色球随机选号程序

package main

import (
	"fmt"
	"math/rand"
	"time"
)

func ifinballs(parma int, list [6]int) bool {
	for _, b := range list {
		if b == parma {
			return false
		}
	}
	return true
}
func getRedBall() {
	var redballs [6]int
	for i := 0; i < 6; i++ {
		for {
			rand.Seed(time.Now().UnixNano())
			num := rand.Intn(33) + 1
			if ifinballs(num, redballs) {
				redballs[i] = num
				break
			} else {
				continue
			}
		}
	}
	fmt.Print(redballs)
}

func main() {
	//num1 := rand.Int()
	//fmt.Println(num1)
	//
	//for i := 0; i < 10; i++ {
	//	num := rand.Intn(10)
	//	fmt.Println(num)
	//}
	//rand.Seed(1000000)
	//num2 := rand.Intn(10)
	//fmt.Println("a----->", num2)
	//

	/*
		只有种子不一样的时候我们才能获取到不同的随机数
		所以我们这儿使用一下时间戳来进行我们的一个种子的获取
		获取时间使用函数time.Now() 时间格式是 2020-03-05 11:38:28.0204254 +0800 CST m=+0.003990201
		这儿获取的时间是标准格式,我们需要取得时间戳,所以我们使用
		t1.Unix()指的是获取秒的时间戳
		t1.UnixNano()指的是获取纳秒的时间戳
	*/

	//t1 := time.Now()
	//fmt.Println(t1)
	//timeStamp1 := t1.Unix()
	//timeStamp2 := t1.UnixNano()
	//fmt.Println(timeStamp1)
	//fmt.Println(timeStamp2)
	//fmt.Printf("%T\n",t1)

	/*
		下面开始真正的获取随机数
		Step1:获取种子数,设置为时间戳
		Step2:调用生成随机数的函数
	*/

	//rand.Seed(time.Now().UnixNano())
	//for i:=0; i<10 ; i++  {
	//		//fmt.Println("------>",rand.Intn(200))
	//		/*
	//		Intn是指可以获取0-n之间的随机数
	//		我们可以通过加法来写某某到某某之间的随机数
	//		例如我们取得  15-32之间的随机数我们取17的随机加上15就好
	//		*/
	//		fmt.Println("------>",rand.Intn(18)+15)
	//		}

	/*

		到这儿咱们学习了取随机数,下面咱们实践一下,我们做一个彩票随机抽取的小程序
		首先我们写两个类   一个类抽取红球,一个类抽取蓝球
	*/
	rand.Seed(time.Now().UnixNano())
	var blueballs [1]int
	var nums int
	fmt.Println("请输入你需要机选几注")
	fmt.Scan(&nums)
	for i:=0; i

 

你可能感兴趣的:(Go)