乐趣区

Golang-标准库strconv-包的应用

strconv 包

strconv 包主要用于字符串与其他类型的转换。一般来说,几乎所有的类型都能被转换成字符串,但是从字符串转换成其他类型就不一定能成功了。

从数字类型转换到字符串 ,我们可以使用strconv.Itoa 和 strconv.FormatFloat() 等函数,Itoa 是把十进制数转换成字符串,FormatFloat 是将 64 位浮点型的数字转换成字符串。

strconv.FormatFloat(f float64, fmt byte, prec int, bitSize int)

其中,fmt 表示格式(其值可以是 ‘a’, ‘b’, ‘c’),prec 表示精度,bitSize 的值是 32 就表示 float32,是 64 就表示 float64。

从字符串到数字类型 ,也可以使用strconv.Atoi(s string)(int, err,error) 将字符串转换为 int 类型,strconv.ParseFloat(s string, bitSize int)(f float64, err error)将字符串转换为 float64 型。这个函数会返回两个值,分别是 转换后的结果(成功转换) 可能出现的错误

对于多返回值的函数,可以把语句写成这样

func main() {

    str := "233"
    fmt.Printf("str 当前是 %T 类型,且操作系统是 %d 位 \n", str, strconv.IntSize) // 使用 strconv.InSize 获取 int 类型所占位数

    num, _ := strconv.Atoi(str) // 使用 strconv.Atoi()把字符串转换到数字类型
    fmt.Printf("num 当前是 %T 类型,且数值是 %d。\n", num, num)
    fmt.Printf("%s\n", num)

    num += 5
    newS := strconv.Itoa(num) // 使用 strconv.Itoa()把数字类型转换成字符串,程序输出乱码表示无法转换
    fmt.Printf("%s\n", newS)
}

/*
str 当前是 string 类型,且操作系统是 64 位
num 当前是 int 类型,且数值是 233。%!s(int=233)
238
*/
退出移动版