前言
标准库strconv
提供了字符串类型与其他常用数据类型之间的转换。
strconv.FormatX()
用于X类型转字符串,如strconv.FormatFloat()
用于浮点型转字符串。strconv.ParseX()
用于字符串转X类型,如strconv.ParseFloat()
用于字符串转浮点型。- 对于整型,常用
strconv.Itoa()
整型转字符串和strconv.Atoi()
字符串转整型,当然也可以用FormatInt()
和ParseInt()
函数原型
// 整型转字符串 func Itoa(i int) string func FormatInt(i int64, base int) string // 字符串转整型 func Atoi(s string) (int, error) func ParseInt(s string, base int, bitSize int) (i int64, err error) // 浮点型转字符串 func FormatFloat(f float64, fmt byte, prec, bitSize int) string // 字符串转浮点型 func ParseFloat(s string, bitSize int) (float64, error) // 布尔型转字符串 func FormatBool(b bool) string // 字符串转布尔型 func ParseBool(str string) (bool, error) // 复数转字符串 func FormatComplex(c complex128, fmt byte, prec, bitSize int) string // 字符串转复数 func ParseComplex(s string, bitSize int) (complex128, error)
具体函数说明请点击文末“参考资料”的官方文档链接。
示例代码
package main import ( "fmt" "strconv" ) func main() { // 整型转字符串 var a int = 123 // 输出:123, 123, string fmt.Printf("%d, %v, %T \n", a, strconv.Itoa(a), strconv.Itoa(a)) // 浮点型转字符串 var b float64 = 3.141592653589793 // 输出:3.141593, 3.14159265, string fmt.Printf("%f, %v, %T \n", b, strconv.FormatFloat(b, 'f', 8, 64), strconv.FormatFloat(b,'f', 8, 64)) // 字符串转整型 var c string = "56789" if c2,err := strconv.Atoi(c); err == nil { // 输出:string, 56789, int fmt.Printf("%T, %v, %T \n",c, c2, c2) } // 字符串转浮点型 var d string = "123.456789" if d2, err := strconv.ParseFloat(d, 64); err == nil { // 输出:string, 123.456789, float64 fmt.Printf("%T, %v, %T \n", d, d2, d2) } }