strconv.ParseInt 是将字符串转换为数字的函数
func ParseInt(s string, base int, bitSize int) (i int64, err error)
- 第一个参数代表要转换的字符串
- 第二个参数代表要转换的进制数
- 第三个参数的bitSize的含义是大小限(举例如下)
- 有两个输出,一个是转换后的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就可以正常显示。