Golang 标准库:strconv 包的应用

sunlingbot · · 808 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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
*/

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:sunlingbot

查看原文:Golang 标准库:strconv 包的应用

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

808 次点击  
加入收藏 微博
1 回复  |  直到 2020-06-04 09:28:51
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传