golang字符串转64位整数的示例代码
作者:北漂燕郊杨哥
golang字符串转64位整数
在Go语言中,可以使用strconv包中的ParseInt函数将字符串转换为64位整数。以下是一个示例代码:
package main import ( "fmt" "strconv" ) func main() { str := "12345" num, err := strconv.ParseInt(str, 10, 64) if err != nil { fmt.Println("转换失败:", err) return } fmt.Println("转换结果:", num) }
在上述代码中,我们首先导入了fmt和strconv包。然后,我们定义了一个字符串变量str,其值为"12345"。接下来,我们使用strconv.ParseInt函数将字符串转换为64位整数,并将结果存储在变量num中。函数的第一个参数是要转换的字符串,第二个参数是字符串表示的整数的基数(这里使用十进制),第三个参数是转换后的整数类型(这里使用64位整数)。如果转换失败,err变量将包含错误信息。最后,我们使用fmt.Println函数打印转换结果。
运行上述代码将输出:
转换结果: 12345
请注意,如果字符串无法转换为64位整数,strconv.ParseInt函数将返回一个错误。因此,在实际应用中,您应该检查错误以确保转换成功。
golang 基础 —— 字符串 与 int 、int64 互转
1、代码
package main import ( "fmt" "reflect" "strconv" ) func main() { var testStr string = "123456" // 字符串 转 int intNum, _ := strconv.Atoi(testStr) fmt.Println("intNum =", intNum, ", intNum 类型是", reflect.TypeOf(intNum)) // 字符串 转 int64 int64Num, _ := strconv.ParseInt(testStr, 10, 64) fmt.Println("int64Num=", int64Num, ", int64Num 类型是", reflect.TypeOf(int64Num)) // =================================================== // int 转 字符串 var intNum2 int = 123456 var str1 string = strconv.Itoa(intNum2) fmt.Println("str1 =", str1, ", str1 类型是", reflect.TypeOf(str1)) // int64 转 字符串 var int64Num2 int64 = 123456 var str2 string = strconv.FormatInt(int64Num2, 10) fmt.Println("str2 =", str2, ", str2 类型是", reflect.TypeOf(str2)) fmt.Println("----------------- 类型转换 ---------------------") var num3 int = 30 var num4 int64 num4 = int64(num3) fmt.Printf("num3 的类型是 %T ,num3= %v \n", num3, num3) fmt.Printf("num4 的类型是 %T ,num4= %v \n", num4, num4) var num5 int64 = 20 var num6 int num6 = int(num5) fmt.Printf("num5 的类型是 %T ,num5= %v \n", num5, num5) fmt.Printf("num6 的类型是 %T ,num6= %v \n", num6, num6) }
运行结果:
intNum = 123456 , intNum 类型是 int
int64Num= 123456 , int64Num 类型是 int64
str1 = 123456 , str1 类型是 string
str2 = 123456 , str2 类型是 string
----------------- 类型转换 ---------------------
num3 的类型是 int ,num3= 30
num4 的类型是 int64 ,num4= 30
num5 的类型是 int64 ,num5= 20
num6 的类型是 int ,num6= 20
2、总结
2.1、字符串 与 int 互转
// 字符串 转 int intNum, _ := strconv.Atoi(testStr) // int 转 字符串 var str1 string = strconv.Itoa(intNum2)
2.2、字符串 与 int64 互转
// 字符串 转 int64 // 参数1:数字类型的字符串 // 参数2:数字字符串的进制, 比如 2进制、8进制、10进制、16进制 // 参数3:bitSize,意思是string转int64时的数值范围的限制,如int8 int16 int32 int64 不同数字类型取值范围是不一样的 int64Num, _ := strconv.ParseInt(testStr, 10, 64) // int64 转 字符串 // 参数1:int64类型的数字,如果是int、int8 int16 int32,则要使用int64(数字)转换 // 参数2:表示int64数字要转换什么进制的字符串 , 比如 2进制、8进制、10进制、16进制。取值必须在2到36之间。 var str2 string = strconv.FormatInt(int64Num2, 10)
示例:字符串 e
属于16进制,是10进制中的14 。
var testStr3 string = "e" int64Num, _ := strconv.ParseInt(testStr3, 16, 8) fmt.Println("int64Num=", int64Num, ", int64Num 类型是", reflect.TypeOf(int64Num))
运行结果:
int64Num= 14 , int64Num 类型是 int64
2.3、int 与 int64 互转最简单
var intNum int = int(int64位数字) var int64Num int64 = int64(int数字)
到此这篇关于golang字符串转64位整数的文章就介绍到这了,更多相关golang字符串转整数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!