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

网站建设 话术阜阳seo

网站建设 话术,阜阳seo,连城县住房和城乡建设局 网站,福州百度代理👻创作者:丶重明 👻创作时间:2025年3月17日 👻擅长领域:运维 目录 1.😶‍🌫️题目:随机密码生成器2.😶‍🌫️密码生成可用资源3.😶‍&…

👻创作者:丶重明
👻创作时间:2025年3月17日
👻擅长领域:运维

目录

  • 1.😶‍🌫️题目:随机密码生成器
  • 2.😶‍🌫️密码生成可用资源
  • 3.😶‍🌫️代码开发
  • 4.😶‍🌫️代码输出
  • 5.😶‍🌫️代码解析
  • 6.😶‍🌫️本文知识点
    • 6.1.😶‍🌫️math/big
    • 6.2.😶‍🌫️strings

1.😶‍🌫️题目:随机密码生成器

编写一个Go语言程序,生成一个随机密码。该密码需要包含字母(大写、小写)和数字,并确保密码的长度由用户自己决定,但是不能低于8位。

开发要求:

  • 生成的密码应该包含小写字母、大写字母和数字。
  • 密码的长度由用户输入。
  • 如果输入的长度小于 8,则提示用户重新输入。

2.😶‍🌫️密码生成可用资源

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
!@#$%^&*()_+-=[]{};':\",./<>?

3.😶‍🌫️代码开发

package mainimport ("crypto/rand""fmt""math/big""strings"
)const (lowercase = "abcdefghijklmnopqrstuvwxyz"uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"digits    = "0123456789"specials  = "!@#$%^&*()_+-=[]{};':\",./<>?"
)func generatePassword(length int) string {if length < 8 {fmt.Println("密码的长度不能低于8位噢.")return ""}charSet := lowercase + uppercase + digits + specialsvar password strings.Builderfor i := 0; i < length; i++ {index, _ := rand.Int(rand.Reader, big.NewInt(int64(len(charSet))))password.WriteByte(charSet[index.Int64()])}return password.String()
}
func main() {var length intfmt.Println("请输入密码的长度:")fmt.Scanln(&length)password := generatePassword(length)fmt.Println("生成的密码为:", password)
}

4.😶‍🌫️代码输出

保存代码文件,执行go run运行代码

> go run .\11.gotest.go
请输入密码的长度:
11
生成的密码为: QL"nOg=akp.> go run .\11.gotest.go
请输入密码的长度:
16
生成的密码为: QaJJUbnw9=]v"S:<> go run .\11.gotest.go
请输入密码的长度:
7
密码的长度不能低于8位噢.
生成的密码为: 

5.😶‍🌫️代码解析

1. 字符集:

我们定义了四个常量(const),分别为大写字母、小写字母、数字和特殊符号。
使用字符串拼接的方法将四个常量加在一起然后赋值给变量charSet

2. 生成密码:

使用rand.Int(rand.Reader, big.NewInt(int64(len(charSet))))从字符集charSet 中随机选择一个字符,并将其添加到密码字符串中。

rand intcrypto/rand 包中的一个函数,用于生成一个随机的 *big.Int 类型的整数.

rand.Reader是一个全局变量,是一个密码学安全的随机数生成器,通常用于生成高质量的随机数。

big.NewInt math/big 包中的一个函数,用于创建一个 *big.Int 类型的整数.

len(charSet) 返回字符集 charSet 的长度(字符的数量)

int64(len(charSet)) 将长度转换为 int64类型,因为 big.NewInt 需要一个 int64 类型的参数。

3. 用户输入长度:

程序首先要求用户输入密码的长度,如果输入的长度小于 8,程序会提示用户不合规范。

4.输出密码:

在用户输入合适的密码长度后,程序生成并输出随机密码。

6.😶‍🌫️本文知识点

6.1.😶‍🌫️math/big

math/big 是 Go 语言标准库中的一个包,用于处理大整数(big.Int)、大浮点数(big.Float)和有理数(big.Rat)。
它的主要作用是解决标准数据类型(如 int、int64、float64 等)无法处理的大数计算问题。

核心类型:

  • big.Int:用于表示任意精度的整数,支持运算
  • big.Float:用于表示任意精度的浮点数,支持运算
  • big.Rat:用于表示有理数(分数)

6.2.😶‍🌫️strings

strings 是 Go 语言标准库中的一个包,专门用于处理字符串操作。
它提供了丰富的函数,用于字符串的查找、替换、分割、连接、修剪、比较等常见操作。

本文用到了strings.Builder类型,它通过内部的字节缓冲区来避免频繁的内存分配,适合需要频繁拼接字符串的场景。

同系列:

上一篇:【Go每日一练】猜数字游戏

http://www.dtcms.com/a/587314.html

相关文章:

  • 深圳网站建设响应式网站手表商城网站建设
  • 免费注册建网站wordpress婚庆模板下载
  • 无忧企业网站管理系统linux 搭建wordpress
  • c 做网站 知乎网站对于企业的好处
  • 对网站做数据统计的目的是什么龙岗区教育局
  • 网站建设-易速通科技网站建设4435
  • 深圳宝安住房和建设局网站官网浩森宇特北京网站建设
  • 江苏省交通建设质监网站wordpress修改固定链接404
  • 常平网站公司网站费用怎么做会计分录
  • 兰州网站建设与优化wordpress 关键词屏蔽
  • 凡科网站建设注册学校学院网站建设目标
  • h5网站制作平台网站备案 网站建设方案书
  • 潮州网站建设上海嘉定网站建设公司
  • Data Sink定义、参数与可落地示例
  • 青岛网站设计网站wordpress 评论 邮箱
  • 杭州论坛网站制作diy电子商城网站
  • 做网站页面需要的资料安徽建设工程网
  • 网站建设中需要注意的问题高清短视频素材库无水印
  • 手机网站与pc网站同步广东茂名网站建设
  • 网站安全狗 拦截301xly000.WordPress.cok
  • 确山专业网站建设南昌师范学院网站建设的意义和目的
  • 权威的网站制作视频解析网站怎么做的
  • 公司注册网站官网郑州网站开发公司
  • 云南网站设计定制找网页设计公司去哪个平台
  • 网页设计与网站建设电话湖南建筑网
  • 网站升级建设方案开发公司网站建设
  • 阿里云有域名之后怎么建设网站我要招人在哪个网站招
  • python 做网站怎样潍坊美丽乡村建设一般发了哪个网站
  • 十大网站建立公司小程序宣传推广方案
  • 第1章 GIS基础入门