Go string转int,int64,int32及注意事项说明
作者:斜杠打卡小程序
这篇文章主要介绍了Go string转int,int64,int32及注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Go string转int,int64,int32及注意事项
string 转 int (正整数)
// string 转 int str5 := "123" int5, err := strconv.Atoi(str5) if err != nil { fmt.Println(err) } else { fmt.Printf("int5 value is %d, type is %T\n", int5, int5) // int5 value is 123, type is int }
string 转 int (负整数)
// string 转 int str6 := "-123" int6, err := strconv.Atoi(str6) if err != nil { fmt.Println(err) } else { fmt.Printf("int6 value is %d, type is %T\n", int6, int6) // int6 value is -123, type is int }
string 转 int64
// string 转 int64 str7 := "123" int7, err := strconv.ParseInt(str7, 10, 64) if err != nil { fmt.Println(err) } else { fmt.Printf("int7 value is %d, type is %T\n", int7, int7) // int7 value is 123, type is int }
string 转 int64
// string 转 int64 str9 := "123" // 参数1 数字的字符串形式 // 参数2 数字字符串的进制 比如二进制 八进制 十进制 十六进制 // 参数3 返回结果的bit大小 也就是int8 int16 int32 int64 int9, err := strconv.ParseInt(str9, 8, 64) if err != nil { fmt.Println(err) } else { fmt.Printf("int9 value is %d, type is %T\n", int9, int9) // int9 value is 83, type is int64 // 83 = 1 * 8^2 + 2 * 8^1 + 3 * 8^0 }
string 转 int32
// string 转 int32 str10 := "123" int10, err := strconv.ParseInt(str10, 10, 32) if err != nil { fmt.Println(err) } else { j := int32(int10) fmt.Printf("j value is %d, type is %T", j, j) // j value is 123, type is int32% } }
string 转 数值类型 必须为数字的字符串形式
// string 转 数值类型 必须为数字的字符串形式 str1 := "123sd" int1, err := strconv.Atoi(str1) if err != nil { fmt.Println(err) // strconv.Atoi: parsing "123sd": invalid syntax } else { fmt.Printf("int1 value is %d, type is %T\n", int1, int1) }
string 转 数值类型 必须为数字的字符串形式
// string 转 数值类型 必须为数字的字符串形式 str2 := "123sd123" int2, err := strconv.Atoi(str2) if err != nil { fmt.Println(err) // strconv.Atoi: parsing "123sd123": invalid syntax } else { fmt.Printf("int2 value is %d, type is %T\n", int2, int2) }
string 转 数值类型 数值范围必须在目标范围内
// string 转 数值类型 数值范围必须在目标范围内 str3 := "11111111111111111111" int3, err := strconv.Atoi(str3) if err != nil { fmt.Println(err) // strconv.Atoi: parsing "11111111111111111111": value out of range } else { fmt.Printf("int3 value is %d, type is %T\n", int3, int3) }
string 转 数值类型 浮点数无法转整型
// string 转 数值类型 浮点数无法转整型 str4 := "123.12" int4, err := strconv.Atoi(str4) if err != nil { fmt.Println(err) // strconv.Atoi: parsing "123.12": invalid syntax } else { fmt.Printf("int4 value is %d, type is %T\n", int4, int4) }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。