linux平台,使用rand.Seed()

//rand_linux.go
package main import (
"math/rand"
"time"
) //get the random number in [min, max]
func RandInt64(min, max int64) int64 {
if min >= max || max == 0 {
return max
}
rand.Seed(time.Now().UnixNano())
//fmt.Println(r.Int63n(max-min) + min)
x := rand.Int63n(max-min) + min
//fmt.Println(x)
return x
} //get the random numer in [min, max]
func RandInt(min, max int) int {
if min >= max || max == 0 {
return max
}
rand.Seed(time.Now().UnixNano()) //x := r.Intn(max-min) + min
x := rand.Intn(max - min) + min //fmt.Println("RandInt: = ",x)
return x
}

  windows平台,直接使用 rand.Int63n() 或者 rand.Intn()

//rand_windows.go
package main import (
"math/rand"
) //get the random number in [min, max]
func RandInt64(min, max int64) int64 {
if min >= max || max == 0 {
return max
}
x := rand.Int63n(max-min) + min
//fmt.Println(x)
return x
} //get the random numer in [min, max]
func RandInt(min, max int) int {
if min >= max || max == 0 {
return max
} x := rand.Intn(max - min) + min //fmt.Println("RandInt: = ",x)
return x
}

  Mac平台

//rand_darwin.go
package main
import (
"math/rand"
"time"
) //RandInt64 get the random number in [min, max]
func RandInt64(min, max int64) int64 {
if min >= max || max == {
return max
}
rand.Seed(time.Now().UnixNano())
//fmt.Println(r.Int63n(max-min) + min)
x := rand.Int63n(max-min) + min
//fmt.Println(x)
return x
} //RandInt get the random numer in [min, max]
func RandInt(min, max int) int {
if min >= max || max == {
return max
}
rand.Seed(time.Now().UnixNano()) //x := r.Intn(max-min) + min
x := rand.Intn(max-min) + min //fmt.Println("RandInt: = ",x)
return x
}

linux/windows/Mac平台生成随机数的不同方法的更多相关文章

  1. linux/windows平台生成随机数的不同方法

    linux平台,使用rand.Seed() //rand_linux.go package main import ( "math/rand" "time" ) ...

  2. linux, windows, mac, ios等平台GCC预编译宏判断

    写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码.而跨平台c/c++编程,GCC基本在各平台都可以使用.整理了一份各平台预编译宏的判断示例. 需要注意几点: * window ...

  3. golang安装卸载 linux+windows+raspberryPI 平台

    参考  https://golang.org/doc/install 自ECUG2013洗脑回来,就渴望早点接触Go 听着许式伟和谢孟军的演讲 发现go的网络库的确很强大,高负载利器,语言的一些精简导 ...

  4. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  5. iConvert Icons 图标转换生成利器,支持Windows, Mac OS X, Linux, iOS,和Android等系统

    这是一款在线图标转换工具,生成的图标支持Windows, Mac OS X, Linux, iOS, 和 Android等主流系统. 可以上传图标文件转化成另一个平台下的图标文件,例如将windows ...

  6. OpenGL环境搭建Windows+Mac+Linux

    OpenGL环境搭建Windows+Mac+Linux Mac平台下 下载列表:GLFWcmake 下载的GLFW解压缩 然后安装cmake, 安装好cmake之后打开 1.browse source ...

  7. BesLyric 全新版本下载 ( windows \ mac \ linux )

    导读 BesLyric , 一款专门制作 网易云音乐 LRC 滚动歌词的软件! 搜索.下载.制作 歌词更方便! 很荣幸地,自 beslyric 2017 年开发推出以来,得到了很多云村村民的肯定,现在 ...

  8. golang 在 Mac , Linux , Windows 下交叉编译详解

    一. 前言 Golang 支持交叉编译, 在一个平台上生成然后再另外一个平台去执行. 而且编译的工具[build]这个工具是Golang 内置的,不需要你去下载第三方的包啥的,贼方便. 二. 交叉编译 ...

  9. [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)

    [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...

随机推荐

  1. 第二章 Vue快速入门--12 事件修饰符的介绍

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  2. TCP_Wrappers应用层防火墙

    TCP_Wrappers是一个工作在应用层的安全工具,它只能针对某些具体的应用或者服务起到一定的防护作用.比如说ssh.telnet.FTP等服务的请求,都会先受到TCP_Wrappers的拦截. T ...

  3. 使用CreateWindowEx创建子窗口的注意事项

    比如: 使用 HWND child = CreateWindowEx(0,L"childclass",NULL,WS_CHILD | WS_VISIBLE | WS_CLIPSIB ...

  4. Wuss Weapp 微信小程序 UI 组件库

    微信小程序 UI 组件库 Github地址 https://github.com/phonycode/wuss-weapp 文档 https://phonycode.github.io/wuss-we ...

  5. 【Share Code | HTML & CSS & Javascript】动画片段幻灯片

    [查看demo & 下载资源](https://zhaoshuquan.com/posts/15 介绍 本文使用"Pieces"库轻松实现动画片段幻灯片效果. 今天我们想向 ...

  6. 高并发下的Nginx优化

    高并发下的Nginx优化 2014-08-08 13:30 mood Nginx    过去谈过一些关于Nginx的常见问题; 其中有一些是关于如何优化Nginx. 很多Nginx新用户是从Apach ...

  7. C# 反射简单介绍

    原文:https://blog.csdn.net/wu1020300665/article/details/82958455 1.什么是反射 反射是.NET中的重要机制,通过反射,可以在运行时获得程序 ...

  8. 题解 【HEOI2016】tree树

    题面 解析 其实这题可以考虑离线做法,用并查集解决. 因为仔细想,添加标记并不方便, 但如果用并查集记录下祖先, 再一一删除,就会方便很多. 先把每次操作记录下来, 同时记录下每个点被标记的次数(因为 ...

  9. 利用msyqlfont + plsql 客户端 完成msyql数据向oracle的转移

    方法一: 1.这是mysqlfont 连接工具 ,选中表右键点击 输出->csv文件 2.选择导出的文件为ANSI型,因为csv文件excel打开的默认编码方式为ANSI这样可以防止中文在exc ...

  10. Linux用户以及组的添加与删除

    查看centos中的用户和用户组 1.用户列表文件:/etc/passwd/ 2.用户组列表文件:/etc/group 3.查看系统中有哪些用户: cut -d : -f 1 /etc/passwd ...