【go学习笔记】strconv

strconv.ParseInt函数用于将字符串转换为整数,参数包括字符串、转换基数和位宽。如果位宽超出了限制,转换结果将返回错误,例如8位限制下,最大值为127,超出则报错;16位限制下,可以容纳199。

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

strconv.ParseInt 是将字符串转换为数字的函数

func ParseInt(s string, base int, bitSize int) (i int64, err error) 
  1. 第一个参数代表要转换的字符串
  2. 第二个参数代表要转换的进制数
  3. 第三个参数的bitSize的含义是大小限(举例如下)
  4. 有两个输出,一个是转换后的int64类型数据,一个是err信息,会显示是否超出第三个参数限制的大小。

demo

func main() {
	//string---》int64
	var s1 string = "19"
	var num1 int64
	var err error
	num1, err = strconv.ParseInt(s1, 10, 8)
	if err != nil {
		fmt.Println("超过bitSize的最大大小了")
	}
	fmt.Printf("num1的类型是:%T,num1=%v \n", num1, num1)
}

// num1的类型是:int64,num1=19 


func main() {
	//string---》int64
	var s1 string = "199"
	var num1 int64
	var err error
	num1, err = strconv.ParseInt(s1, 10, 8)
	if err != nil {
		fmt.Println("超过bitSize的最大大小了")
	}
	fmt.Printf("num1的类型是:%T,num1=%v \n", num1, num1)
}
// 超过bitSize的最大大小了
// num1的类型是:int64,num1=127 

func main() {
	//string---》int64
	var s1 string = "199"
	var num1 int64
	var err error
	num1, err = strconv.ParseInt(s1, 10, 16)
	if err != nil {
		fmt.Println("超过bitSize的最大大小了")
	}
	fmt.Printf("num1的类型是:%T,num1=%v \n", num1, num1)
}
// num1的类型是:int64,num1=199

用8个bit限制最大数为127,因此19是正常打印输出的,也没有错误信息,但是199就显示错误信息了,并且num1打出的是bitSize的最大大小127;bitSize改成16后,199就可以正常显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值