go语言中 strconv.ParseInt 第三个参数的作用

Posted 我想月薪过万

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言中 strconv.ParseInt 第三个参数的作用相关的知识,希望对你有一定的参考价值。

官方解释

相信很多小伙伴 看到官方解释 还是懵的一批

小道解释

在网上很多帖子说 第三个参数 是指定返回值类型的,看到这种帖子,我只想说你在放屁,函数都看不懂,回炉重造吧!!!

针对函数 返回值 问题,官方文档已经写得很清楚了,就是 多返回值(int64,error)

那么,第三个参数有何用?

其实,他是起到 string 转 int 时的一个限制作用,如果超过了第三个参数 bitSize 的限制,那么就会将报错信息输出到 error 中

案例展示

我们分别将 “127” 和 “128” 转换成 int类型

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str1 := "127"
	n, err := strconv.ParseInt(str1, 10, 8) //这里的 8 指的是 转换结果最大值不超过 int8 即 127
	if err != nil {
		fmt.Printf("err is %v\\n", err)
	}
	fmt.Printf("类型: %T ,值: %d", n, n)
}

 

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str1 := "128"
	n, err := strconv.ParseInt(str1, 10, 8) //这里的 8 指的是 转换结果最大值不超过 int8 即 127
	if err != nil {
		fmt.Printf("err is %v\\n", err)
	}
	fmt.Printf("类型: %T ,值: %d", n, n)
}

 

 从以上结果中我们可以很明显的看到,第三个参数确实是起限制作用的,如果待转换值超出了我们设置的限制,就会将报错信息存于err中

以上是关于go语言中 strconv.ParseInt 第三个参数的作用的主要内容,如果未能解决你的问题,请参考以下文章

go语言stringintint64互相转换

go语言学习--stringintint64互相转换,字符串的截取,数组和字符串的转换,printf的语法

go 字符串 数字 整型 浮点 转换

#Go# 常用类型转换

Go:十六进制颜色代码转换为RGB值

毕业设计一周一记08