package main
import (
"fmt"
"strconv"
)
func main() {
//字符串 => 其他类型
//字符串 => bool
//类型转换的时候会返回2个值 一个是v 转换成功之后的值 一个是 err错误,这个判断是指如果返回不是nil 那么就是转换失败了,把失败错误打印出来
if v, err := strconv.ParseBool("true"); err == nil {
fmt.Println(v)
} else {
fmt.Println(err)
}
//字符串 => int
if v, err := strconv.Atoi("1023"); err == nil {
fmt.Println(v)
} else {
fmt.Println(v)
}
//这里 16指的是十六进制转换为十进制,64表示int64类型
if v, err := strconv.ParseInt("64", 16, 64); err == nil {
fmt.Println(v)
} else {
fmt.Println(err)
}
//字符串 => float
//64指的是float64
if v, err := strconv.ParseFloat("1.12", 64); err == nil {
fmt.Println(v)
} else {
fmt.Println(err)
}
//其他类型转换字符串
//Sprint 格式化返回一个字符串 不打印标准输出
sd := fmt.Sprintf("%d", 12)
sf := fmt.Sprintf("%T 是字符串%.3f", 12.01, 12.01)
fmt.Println(sd, sf)
fmt.Printf("%q\n", strconv.FormatBool(false))
fmt.Printf("%q\n", strconv.Itoa(12))
//16表示十六进制
fmt.Printf("%q\n", strconv.FormatInt(12, 16))
//E表示是否是用科学计数法 -1 表示保留所有小数点后面的, 这里是精度 正数表示保留几个 64表示float64
fmt.Printf("%q\n", strconv.FormatFloat(10.1, 'E', -1, 64))
fmt.Printf("%q\n", strconv.FormatFloat(10.1111, 'f', 4, 64))
}
七、3.类型转换(strconv)
猜你喜欢
转载自blog.csdn.net/weixin_45413603/article/details/104785362
今日推荐
周排行