strconv包实现了基本数据类型与其字符串表示的转换,
主要有以下常用函数: Atoi()、Itoa()、parse系列、format系列、append系列。
1.Atoi()
Atoi()函数用于将字符串类型的整数转换为int类型
如果传入的字符串参数无法转换为int类型,就会返回错误
str := "100"
i, err := strconv.Atoi(str)
if err != nil {
fmt.Println("无法转换!!!")
}else {
fmt.Printf("%T %#v\n",i,i)
}
2.Itoa()
Itoa()函数用于将int类型数据转换为对应的字符串表示
i := 100
str := strconv.Itoa(i)
fmt.Printf("%T %#v\n",str,str)
3.Parse
Parse类函数用于转换字符串为给定类型的值:ParseBool()、ParseFloat()、ParseInt()、ParseUint()
b, _ := strconv.ParseBool("true")
f, _ := strconv.ParseFloat("3.14", 64)
i, _ := strconv.ParseInt("-2", 10, 64) // base指定进制(2到36)
u, _ := strconv.ParseUint("2", 10, 64) // bitSize指定结果必须能无溢出赋值的整数类型
fmt.Println(b,f,i,u)
4.Format
str1 := strconv.FormatBool(true)
str2 := strconv.FormatFloat(3.1415, 'E', -1, 64)
str3 := strconv.FormatInt(-2, 16)
str4 := strconv.FormatUint(2, 16)
fmt.Println(str1,str2,str3,str4) //true 3.1415E+00 -10 10
5.isPrint()
func IsPrint(r rune) bool
返回一个字符是否是可打印的,和unicode.IsPrint一样,
r必须是:字母(广义)、数字、标点、符号、ASCII空格。
isPrint := strconv.IsPrint('中')
fmt.Println(isPrint) //true