golang之格式化fmt.Printf
2024-08-27 01:05:35
当使用fmt包打印一个数值时,我们可以用%d、%o或%x参数控制输出的进制格式,就像下面的例子:
o := 0666
fmt.Printf("%d %[1]o %#[1]o\n", o) // "438 666 0666"
x := int64(0xdeadbeef)
fmt.Printf("%d %[1]x %#[1]x %#[1]X\n", x)
// Output:
// 3735928559 deadbeef 0xdeadbeef 0XDEADBEEF
注意fmt的两个使用技巧。通常Printf格式化字符串包含多个%参数时将会包含对应相同数量的额外操作数,但是%之后的 [1] 副词告诉Printf函数再次使用第一个操作数。第二,%后的 # 副词告诉Printf在用%o、%x或%X输出时生成0、0x或0X前缀。
字符使用 %c 参数打印通过一对单引号直接包含对应字符,或者是用 %q 参数打印带单引号的字符:
ascii := 'a'
unicode := '国'
newline := '\n'
fmt.Printf("%d %[1]c %[1]q\n", ascii) // "97 a 'a'"
fmt.Printf("%d %[1]c %[1]q\n", unicode) // "22269 国 '国'"
fmt.Printf("%d %[1]q\n", newline) // "10 '\n'"
用Printf函数的%g参数打印浮点数,将采用更紧凑的表示形式打印,并提供足够的精度,但是对应表格的数据,使用%e(带指数)或%f的形式打印可能更合适。所有的这三个打印形式都可以指定打印的宽度和控制打印精度。
for x := 0; x < 8; x++ {
fmt.Printf("x = %d e^x = %8.3f\n", x, math.Exp(float64(x)))
}
最新文章
- Java日志规范
- Ubuntu下shell脚本运行异常:bash和dash的区别
- cocos2d-x.0创建工程
- ytu 1041: 迭代法求平方根(水题)
- Matlab交集并集的实现
- Qt之国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)
- UVA 10972 RevolC FaeLoN(边连通分量)
- undo日志
- Android的配置界面PreferenceActivity
- 深度学习“引擎”之争:GPU加速还是专属神经网络芯片?
- .net SoapHeader验证
- PADS Layout VX.2.3 出Gerber文件时遇到一个奇怪的现象
- Python3学习的准备工作
- tomcat源码之connector配置
- 转:StarUML3.0的破解方法
- js中json知识点
- [leetcode 8] String to Integer
- shell 脚本实战笔记(8)--ssh免密码输入执行命令
- ulbuntu 安装配置 java
- sixxpack破解的文章!【转】
热门文章
- 解决 screen 连接不上,提示“There is no screen to be resumed matching 18352.” 的问题
- Authentication failure. Retrying - 彻底解决vagrant up时警告
- OpenMP基本概念【转】
- HTTPWebrequest上传文件--Upload files with HTTPWebrequest (multipart/form-data)
- keepalived非争抢机制不生效【原创】
- 2019年ArcGIS规划专业专项培训(四天)
- Ionic4.x ion-refresher 下拉更新
- CDH 部署 Hadoop:5.开始安装
- Python3基础 二、八、十、十六进制转换
- Qt获取时间戳作为图片名