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