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