首页 > 编程语言 > 详细

第四篇 -- Go语言string转其他类型

时间:2021-06-24 22:58:26      阅读:16      评论:0      收藏:0      [点我收藏+]

1. string转int

    // 法1:string转int
    num_str := "1234567"
    /* ParseInt():查看文档https://studygolang.com/pkgdoc
    参数1:返回字符串表示的整数值,接受正负号。
    参数2:base指定进制(2到36),如果base为0,则会从字符串前置判断,"0x"是16进制,"0"是8进制,否则是10进制;
    参数3:bitSize指定结果必须能无溢出赋值的整数类型,0、8、16、32、64 分别代表 int、int8、int16、int32、int64;返回的err是*NumErr类型的,如果语法有误,err.Error = ErrSyntax;如果结果超出类型范围err.Error = ErrRange。
    */
    num_int8_8To10, err := strconv.ParseInt(num_str, 8, 8)
    fmt.Printf("num_int8_8To10的数据类型是%T, num_int8_8To10=%d\n", num_int8_8To10, num_int8_8To10)
    fmt.Println(err)

    num_int64_8To10, err := strconv.ParseInt(num_str, 8, 64)
    fmt.Printf("num_int64_8To10的数据类型是%T, num_int64_8To10=%d\n", num_int64_8To10, num_int64_8To10)
    fmt.Println(err)

    num_int32_10To10, err := strconv.ParseInt(num_str, 10, 32)
    fmt.Printf("num_int32_10To10的数据类型是%T, num_int32_10To10=%d\n", num_int32_10To10, num_int32_10To10)
    fmt.Println(err)

    // 法2:string转int
    num_int, _ := strconv.Atoi(num_str)
    fmt.Printf("num_int = %d\n", num_int)

 

输出结果为:

技术分享图片
num_int8_8To10的数据类型是int64, num_int8_8To10=127
strconv.ParseInt: parsing "1234567": value out of range
num_int64_8To10的数据类型是int64, num_int64_8To10=342391
<nil>
num_int32_10To10的数据类型是int64, num_int32_10To10=1234567
<nil>
num_int = 1234567
View Code

 

 

2. string转float

    // string转float
    num1_str := "123.0000123"
    num1_float64, _ := strconv.ParseFloat(num1_str, 64)
    fmt.Printf("num1_float64 = %f\n", num1_float64)

 

输出结果为:

num1_float64 = 123.000012

 

 

3. string转bool

    // string转bool
    b_str := "true"
    b_bool, _ := strconv.ParseBool(b_str)
    fmt.Printf("b_bool的数据类型是%T, b_bool=%t\n", b_bool, b_bool)

 

输出结果为:

b_bool的数据类型是bool, b_bool=true

 

 

OK。

 

第四篇 -- Go语言string转其他类型

原文:https://www.cnblogs.com/smart-zihan/p/14928693.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!