strconv

strconv 包实现基本数量类型与字符串之间的转换。

strconv

数值类型转换

最常见的数值类型转换是 Atoi (strubg 转 int) 和 Itoa (int 转 strig)。

i, err := strconv.Atoi("-42")
s := strconv.Itoa(-42)

字符串转Bool, Float, Int, 和 Uint :

b, err := strconv.ParseBool("true")
f, err := strconv.ParseFloat("3.1415", 64)
i, err := strconv.ParseInt("-42", 10, 64)
u, err := strconv.ParseUint("42", 10, 64)

这些Parse函数返回了最宽类型(float64,int64,uint64),但是如果指定了较窄的宽度,则结果可以转换为较窄类型而不丢失数据:

s := "2147483647" // int32的最大值
i64, err := strconv.ParseInt(s, 10, 32)
...
i := int32(i64)

FormatBool, FormatFloat, FormatInt, 和 FormatUint 函数可以从原数据类型转换为字符串类型:

s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)

AppendBool, AppendFloat, AppendInt, 和 AppendUint 函数可以把对应类型的值追加到 byte 切片。

字符串转换