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

请输入图片描述

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)
}
}