linuxea:go字符串与其他类型的转换(29)

marksugar
2020-04-16 / 0 评论 / 2,132 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2020年04月16日,已超过519天没有更新,若内容或图片失效,请留言反馈。

请输入图片描述

1.字符串与其他类型的转换

转换bool,int

1.1字符串转换Bool类型

如下:

strconv.ParseBool("true")

会返回两个值,其中一个是err,接收两个值,如果err等于nil,说明没有错误,就打印v,如果有错误,就打印。如下:

[root@www.linuxea.com /opt/Golang/work2]# cat strcov.go
package main
import (
    "fmt"
    "strconv"
)
func main(){
    if v,err := strconv.ParseBool("true");err == nil {
        fmt.Println(v)
    } else {
        fmt.Println(err)
    }
}

运行

[root@www.linuxea.com /opt/Golang/work2]# go run strcov.go
true

1.2字符串转换int类型

如下:

strconv.Atoi("1024")

会返回两个值,其中一个是err,接收两个值,如果err等于nil,说明没有错误,就打印v,如果有错误,就打印。如下:

[root@www.linuxea.com /opt/Golang/work2]# cat strcov.go
package main
import (
    "fmt"
    "strconv"
)
func main(){

    if v,err := strconv.Atoi("1024");err == nil{
        fmt.Println(v)
    }else{
        fmt.Println(err)
    }
}

运行

[root@www.linuxea.com /opt/Golang/work2]# go run atoi.go
1024

另外,使用strconv.ParseInt()也可以转换成int类型,但是需要指定转换的字节

    if v,err := strconv.ParseInt("64",16,64);err == nil {
        fmt.Println(v)
    }else{
        fmt.Println(err)
    }
[root@www.linuxea.com /opt/Golang/work2]# go run atoi.go
100

16*6+4=100

1.3字符串转换float

如下:

strconv.ParseFloat("1.024",64)

会返回两个值,其中一个是err,接收两个值,如果err等于nil,说明没有错误,就打印v,如果有错误,就打印。如下:

package main
import (
    "fmt"
    "strconv"
)
func main(){

    if v,err := strconv.ParseFloat("1.024",64);err == nil{
        fmt.Println(v)
        fmt.Printf("%T",v)
    }else{
        fmt.Println(err)
    }
}
0

评论 (0)

取消