当前位置: 首页 > news >正文

网站建设工作室wp主题模板野花韩国视频在线观看免费高清

网站建设工作室wp主题模板,野花韩国视频在线观看免费高清,免费网站建站排行榜,上海市闵行区1. Go中的随机数生成 在许多编程任务中#xff0c;随机数的生成是不可或缺的。Go语言通过 math/rand 包提供了伪随机数生成方式。伪随机数由种子(seed)决定#xff0c;如果种子相同#xff0c;生成的数列也会相同。为了确保每次程序运行时产生不同的随机数#xff0c;我们…1. Go中的随机数生成 在许多编程任务中随机数的生成是不可或缺的。Go语言通过 math/rand 包提供了伪随机数生成方式。伪随机数由种子(seed)决定如果种子相同生成的数列也会相同。为了确保每次程序运行时产生不同的随机数我们通常使用当前时间作为种子。 示例1简单的随机数生成 package mainimport (fmtmath/randtime )func random(min, max int) int {return rand.Intn(max-min) min }func main() {rand.Seed(time.Now().Unix())for i : 0; i 5; i {fmt.Println(生成的随机数:, random(0, 100))} }上述程序使用了当前时间作为种子来生成0到100之间的5个随机数。输出结果每次都会不同。 示例2通过命令行控制随机数生成 为了使程序更具灵活性我们可以通过命令行传入参数来控制随机数的生成范围和数量甚至可以指定种子来生成固定序列的伪随机数。 package mainimport (fmtmath/randosstrconvtime )func random(min, max int) int {return rand.Intn(max-min) min }func main() {MIN : 0MAX : 100TOTAL : 10SEED : time.Now().Unix()arguments : os.Argsswitch len(arguments) {case 2:MIN, _ strconv.Atoi(arguments[1])MAX MIN 100case 3:MIN, _ strconv.Atoi(arguments[1])MAX, _ strconv.Atoi(arguments[2])case 4:MIN, _ strconv.Atoi(arguments[1])MAX, _ strconv.Atoi(arguments[2])TOTAL, _ strconv.Atoi(arguments[3])case 5:MIN, _ strconv.Atoi(arguments[1])MAX, _ strconv.Atoi(arguments[2])TOTAL, _ strconv.Atoi(arguments[3])SEED, _ strconv.ParseInt(arguments[4], 10, 64)default:fmt.Println(使用默认值)}rand.Seed(SEED)for i : 0; i TOTAL; i {fmt.Printf(%d , random(MIN, MAX))}fmt.Println() }通过不同的命令行参数可以控制生成的随机数。例如 $ go run randomNumbers.go 10 50 5 14 37 27 49 16这段代码生成了5个在10到50之间的随机数。 2. 加密级别的随机数生成 在安全领域生成密码时伪随机数不足以提供安全性。Go提供了 crypto/rand 包来生成加密安全的随机数它可以生成不可预测的随机序列。 示例3生成加密安全的随机密码 package mainimport (crypto/randencoding/base64fmtosstrconv )func generateBytes(n int64) ([]byte, error) {b : make([]byte, n)_, err : rand.Read(b)if err ! nil {return nil, err}return b, nil }func generatePass(s int64) (string, error) {b, err : generateBytes(s)return base64.URLEncoding.EncodeToString(b), err }func main() {var LENGTH int64 8arguments : os.Argsif len(arguments) 2 {LENGTH, _ strconv.ParseInt(arguments[1], 10, 64)}myPass, err : generatePass(LENGTH)if err ! nil {fmt.Println(生成密码失败:, err)return}fmt.Println(生成的密码:, myPass[0:LENGTH]) }运行程序后会生成一个随机密码例如 生成的密码: Zm9yQ29kZT3. 矩阵运算与生成 矩阵在图像处理、机器学习等领域中有广泛应用。我们可以利用Go语言生成随机矩阵并进行矩阵加法、减法等运算。 示例4生成随机矩阵并进行矩阵加法 package mainimport (fmtmath/randtime )func generateMatrix(row, col int) [][]int {matrix : make([][]int, row)for i : range matrix {matrix[i] make([]int, col)for j : range matrix[i] {matrix[i][j] rand.Intn(10)}}return matrix }func addMatrices(m1, m2 [][]int) [][]int {result : make([][]int, len(m1))for i : range m1 {result[i] make([]int, len(m1[i]))for j : range m1[i] {result[i][j] m1[i][j] m2[i][j]}}return result }func main() {rand.Seed(time.Now().Unix())m1 : generateMatrix(3, 3)m2 : generateMatrix(3, 3)fmt.Println(矩阵1:, m1)fmt.Println(矩阵2:, m2)result : addMatrices(m1, m2)fmt.Println(矩阵加法结果:, result) }通过上述代码您可以生成两个3x3的随机矩阵并执行矩阵加法运算。 4. 数独验证程序 数独是一个流行的逻辑益智游戏要求将1到9填入一个9x9的网格中使每行、每列和每个3x3的子区域都包含不重复的数字。我们可以通过编写程序验证数独是否解得正确。 示例5数独验证 package mainimport (bufioerrorsfmtosstrconvstrings )func importFile(file string) ([][]int, error) {var err errorvar mySlice make([][]int, 0)f, err : os.Open(file)if err ! nil {return nil, err}defer f.Close()r : bufio.NewReader(f)for {line, err : r.ReadString(\n)fields : strings.Fields(line)temp : make([]int, 0)for _, v : range fields {n, err : strconv.Atoi(v)if err ! nil {return nil, err}temp append(temp, n)}if len(temp) ! 0 {mySlice append(mySlice, temp)}if err ! nil {break}}return mySlice, nil }func validPuzzle(sl [][]int) bool {for i : 0; i 2; i {for j : 0; j 2; j {iEl : i * 3jEl : j * 3mySlice : []int{0, 0, 0, 0, 0, 0, 0, 0, 0}for k : 0; k 2; k {for m : 0; m 2; m {bigI : iEl kbigJ : jEl mval : sl[bigI][bigJ]if val 0 val 10 {if mySlice[val-1] 1 {fmt.Println(数字出现两次:, val)return false} else {mySlice[val-1] 1}} else {fmt.Println(无效值:, val)return false}}}}}for i : 0; i 8; i {sum : 0for j : 0; j 8; j {sum sum sl[i][j]}if sum ! 45 {return false}sum 0}for i :0; i 8; i {sum : 0for j : 0; j 8; j {sum sum sl[j][i]}if sum ! 45 {return false}sum 0}return true }func main() {arguments : os.Argsif len(arguments) ! 2 {fmt.Printf(使用: loadFile 文件名\n)return}file : arguments[1]mySlice, err : importFile(file)if err ! nil {fmt.Println(err)return}if validPuzzle(mySlice) {fmt.Println(数独正确!)} else {fmt.Println(数独错误!)} }通过此程序您可以从文件导入一个数独并验证其是否解得正确。输入数独文件格式为9x9的数独矩阵每行数字间以空格分隔。 运行程序 $ go run sudoku.go valid_sudoku.txt 数独正确!结论 通过本文的学习读者不仅能掌握如何在Go语言中生成随机数还能学会如何生成加密安全的随机数、矩阵运算以及数独验证等高级技术。Go语言为我们提供了丰富的工具能轻松应对多种编程挑战。
http://www.w-s-a.com/news/957732/

相关文章:

  • 什么网站的页面做的比较好看网上做平面设计的网站
  • 网站建设单选网站建设学校培训学校
  • 可以做app的网站logo设计在线生成免费标小智
  • 网站变更备案做酒类网站
  • 网站必须要备案吗东莞市非凡网站建设
  • 太原建网站公司网站设计的流程是怎样的
  • 网站开发交易平台北京网站建设的价格低
  • 捷克注册公司网站搜索引擎广告推广
  • 网站的实用性青岛九二网络科技有限公司
  • 广东备案网站网站反链如何做
  • 做网站的实施过程企业建设H5响应式网站的5大好处6
  • ps制作个人网站首页景安搭建wordpress
  • 常德建设网站制作网站建设推广是什么工作
  • 长春服务好的网站建设百度推广话术全流程
  • 做的网站浏览的越多越挣钱基于jsp的网站开发开题报告
  • 好的做问卷调查的网站好网站调用时间
  • 广州微网站建设平台阿里云国外服务器
  • 如何把做好的网站代码变成网页wordpress shortcode土豆 视频
  • 网站改版竞品分析怎么做中山网站建设文化价格
  • 玉林市网站开发公司电话做网站空间 阿里云
  • 南充做网站略奥网络免费的正能量视频素材网站
  • 电子商务网站开发的基本原则汕头网站制作流程
  • 网站访问量突然增加合肥宣传片制作公司六维时空
  • 建设购物网站流程图怎么找网站
  • 阿里云部署多个网站制作小程序网站源码
  • 博罗东莞网站建设网站免费源代码
  • 网站规划与设计范文桂平网站建设
  • 网站备案号密码wordpress邮箱发送信息错误
  • 模板的网站都有哪些关键词搜索工具爱站网
  • 鲜花网站建设的利息分析企业网站建设方案书