type = (int) (((Math.random())*(new Date().getTime())*10)%4) 这句话是啥意思,产生啥样的结果?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了type = (int) (((Math.random())*(new Date().getTime())*10)%4) 这句话是啥意思,产生啥样的结果?相关的知识,希望对你有一定的参考价值。

参考技术A Math.random() : 随机数 范围 [0 , 1 )

new Date().getTime() : 代表毫秒数现在时间经过和给定的日期1月1日00:00:00 1970年之间。类型 long
%4 取余数
结果 :0或1或2或3
参考技术B 产生一个int型的随机数,随机数的值为0、1、2、3。然后赋给type变量

go basic

go time and rand:

 

package main

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

func main() {
	rand.Seed(time.Now().Unix())
	fmt.Println("My favorite number is :", rand.Int()%20)
}

 

get the runtime os:

 

package main

import (
	"fmt"
	"runtime"
)

func main() {
	fmt.Println("Go runs on")
	switch os := runtime.GOOS; os {
	case "darwin":
		fmt.Println("os x")
	case "linux":
		fmt.Println("Linux.")
	default:
		fmt.Println("windows")
	}
}

 

slice operator

 

package main

import (
	"fmt"
	// "reflect"
)

func printSlice(s string, x []int) {
	fmt.Printf("%s len=%d cap=%d %v
", s, len(x), cap(x), x)
}
func main() {
	var a []int
	printSlice("a", a)

	//append works on nil slice
	a = append(a, 0)
	printSlice("a", a)

	a = append(a, 2, 3, 4)
	printSlice("a", a)

}

 

以上是关于type = (int) (((Math.random())*(new Date().getTime())*10)%4) 这句话是啥意思,产生啥样的结果?的主要内容,如果未能解决你的问题,请参考以下文章

3.8 随机数

Go_random

math/rand实现简易抽奖

java Math.random()生成从n到m的随机整数

Go语言 随机数rand

Golang中rand.Seed()的操作