目录
  • 1、代码
  • 2、总结
    • 2.1、字符串 与 int 互转
    • 2.2、字符串 与 int64 互转
    • 2.3、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数字)

    总结

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。