go 设置url参数_Go语言学习基础-随机数、数字解析、URL解析

本文介绍了Go语言中的随机数生成、数字解析和URL解析。math/rand包可生成伪随机数,strconv包能进行数字解析,url.Parse可解析URL。还说明了随机数种子设置、数字解析精度及URL各字段提取等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Random Number 随机数

Go中的math/rand包提供伪随机数的生成。

如下所示,rand.Intn返回指定范围的随机整数,0<=n<100。rand.Float64返回随机浮点数f,范围为0.0<=f<1.0,这可用于生成在其他范围内的随机浮点数,例如5.0<=f<10.0。

默认的数字生成器具有确定性的,即,默认情况下每次都会生成相同的随机序列。若要生成不同的随机序列,需要为随机序列指定一个不同的随机种子。

请注意,对于要保密的随机数请使用crypto/rand确保安全性。

rand.NewSource生成随机源,rand.New生成随机对象,调用随机对象的方法,就像调用rand包中的函数一样。如果源设置的种子是相同的数字,则它产生相同随机数序列。

1833fe7d9b6740735232496c77dd1c3b.png

结果:

$ go run random-numbers.go

81,87

0.6645600532184904

7.123187485356329,8.434115364335547

0,28

5,87

5,87

Number Parsing 数字解析

在许多程序中,从字符串中解析数字是一项基本且常见的任务,即把字符串数字转换成数值数字;下面介绍如何在Go中进行解析。

内置包strconv提供了转换函数。函数ParseFloat,这个64表示要解析成多少位的精度。对于ParseInt,0表示从字符串中推断出数字的基。64要求结果精度为64位。ParseInt将自动识别十六进制格式的数字。ParseUint为无符号版本。Atoi是10进制数字解析的快捷函数。Parse函数在不合法的输入时返回错误。

c6c3745f31abd3b4196fa6935759b882.png

结果:

$ go run number-parsing.go

1.234

123

456

789

135

strconv.ParseInt: parsing "wat": invalid syntax

URL Parsing URL解析

URL提供了一种统一的资源定位的方法。下面是如何在Go中解析URL。

我们将解析这个示例URL,它包括协议scheme、身份验证信息authentication、主机host、端口port、路径path、查询参数query params和查询片段query fragment。使用函数url.Parse解析URL后,检测以确保没有错误发生。

  • 字段Scheme为协议。
  • 字段User包含所有身份验证信息;调用方法Username和Password分别获得用户名和密码。
  • 字段Host包含主机名和端口(如果存在),调用方法net.SplitHostPort来提取它们。
  • 字段Path提取路径。
  • 字段Fragment提取#后面片段。
  • 若要获取k=v格式的字符串查询参数,请使用字段RawQuery。还可以使用url.ParseQuery将字符串查询参数解析为映射。解析后的查询参数映射的值是字符串切片,因此如果只需要第一个值,请索引到[0]中。
c2beebd1ec94d0e60d9df56d35b9e533.png

结果:

$ go run url-parsing.go

postgres

user:pass

user

pass

host.com:5432

host.com

5432

/path

f

k=v

map[k:[v]]

v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值