Go 语言 Printf 函数和格式化动词详解
Printf()
函数可以使用多种格式化动词对输出进行格式化。下面是可以与所有数据类型一起使用的一些通用格式化动词:
以下动词适用于所有数据类型:
动词 | 描述 |
---|---|
%v |
以默认格式打印值 |
%#v |
以 Go 语法格式打印值 |
%T |
打印值的类型 |
%% |
打印百分号 |
示例:
package main
import (
"fmt"
)
func main() {
var i = 15.5
var txt = "Hello World!"
fmt.Printf("%v\n", i)
fmt.Printf("%#v\n", i)
fmt.Printf("%v%%\n", i)
fmt.Printf("%T\n", i)
fmt.Printf("%v\n", txt)
fmt.Printf("%#v\n", txt)
fmt.Printf("%T\n", txt)
}
结果:
15.5
15.5
15.5%
float64
Hello World!
"Hello World!"
string
整数格式化动词
以下动词适用于整数数据类型:
动词 | 描述 |
---|---|
%b |
二进制 |
%d |
十进制 |
%+d |
带符号的十进制 |
%o |
八进制 |
%O |
八进制(带 0o 前缀) |
%x |
十六进制(小写) |
%X |
十六进制(大写) |
%#x |
带 0x 前缀的十六进制 |
%4d |
使用空格填充(宽度 4,右对齐) |
%-4d |
使用空格填充(宽度 4,左对齐) |
%04d |
使用零填充(宽度 4) |
示例:
package main
import (
"fmt"
)
func main() {
var i = 15
fmt.Printf("%b\n", i)
fmt.Printf("%d\n", i)
fmt.Printf("%+d\n", i)
fmt.Printf("%o\n", i)
fmt.Printf("%O\n", i)
fmt.Printf("%x\n", i)
fmt.Printf("%X\n", i)
fmt.Printf("%#x\n", i)
fmt.Printf("%4d\n", i)
fmt.Printf("%-4d\n", i)
fmt.Printf("%04d\n", i)
}
结果:
1111
15
+15
17
0o17
f
F
0xf
15
15
0015
字符串格式化动词
以下动词适用于字符串数据类型:
动词 | 描述 |
---|---|
%s |
普通字符串打印 |
%q |
双引号包裹的字符串打印 |
%8s |
普通字符串打印(宽度 8,右对齐) |
%-8s |
普通字符串打印(宽度 8,左对齐) |
%x |
字节值的十六进制转储 |
% x |
带空格的十六进制转储 |
示例:
package main
import (
"fmt"
)
func main() {
var txt = "Hello"
fmt.Printf("%s\n", txt)
fmt.Printf("%q\n", txt)
fmt.Printf("%8s\n", txt)
fmt.Printf("%-8s\n", txt)
fmt.Printf("%x\n", txt)
fmt.Printf("% x\n", txt)
}
结果:
Hello
"Hello"
Hello
Hello
48656c6c6f
48 65 6c 6c 6f
布尔格式化动词
以下动词适用于布尔数据类型:
动词 | 描述 |
---|---|
%t |
布尔运算符的 true 或 false 格式(与 %v 相同) |
示例:
package main
import (
"fmt"
)
func main() {
var i = true
var j = false
fmt.Printf("%t\n", i)
fmt.Printf("%t\n", j)
}
结果:
true
false
浮点数格式化动词
以下动词适用于浮点数数据类型:
动词 | 描述 |
---|---|
%e |
科学计数法,指数为 'e' |
%f |
小数点,无指数部分 |
%.2f |
默认宽度,精度为 2 |
%6.2f |
宽度 6,精度 2 |
%g |
必要时使用指数,仅保留必要的位数 |
示例:
package main
import (
"fmt"
)
func main() {
var i = 3.141
fmt.Printf("%e\n", i)
fmt.Printf("%f\n", i)
fmt.Printf("%.2f\n", i)
fmt.Printf("%6.2f\n", i)
fmt.Printf("%g\n", i)
}
结果:
3.141000e+00
3.141000
3.14
3.14
3.141
请注意,这个翻译可能不是完美的,因为语言之间的表达方式可能有细微的差异。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
Go 语言 Printf 函数和格式化动词详解的更多相关文章
- C语言printf()函数:格式化输出函数
C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为: int printf( char ...
- Go语言的GOPATH与工作目录详解
这篇文章主要介绍了Go语言的GOPATH与工作目录详解,本文详细讲解了GOPATH设置.应用目录结构.编译应用等内容,需要的朋友可以参考下 GOPATH设置 go 命令依赖一个重要的环境变量:$GOP ...
- WordPress函数:get_bloginfo()用法详解
描述 返回你博客的信息,这些信息可以用在任何地方的 PHP 代码中.这个函数,和 bloginfo() 一样,可以用来在模板文件的任何地方显示你博客的信息. 用法 <?php $bloginfo ...
- Delphi Format函数功能及用法详解
DELPHI中Format函数功能及用法详解 DELPHI中Format函数功能及用法详解function Format(const Format: string; const Args: array ...
- PHP函数call_user_func和call_user_func_array详解
今天在群里面,有个叫lewis的在问call_user_func_array的用法,因为之前一直没有用过,也不能说什么,于是看一下手册,发现是这么写的: call_user_func_array (P ...
- Log4J:Log4J三大组件:Logger+Appender+Layout 格式化编程详解
快速了解Log4J Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录 (如何处理日志) Appender:日志输出目的地,负责日志的输出 (输出到什么 地方) Layo ...
- JS函数动作分层结构详解及Document.getElementById 释义 js及cs数据类型区别 事件 函数 变量 script标签 var function
html +css 静态页面 js 动态 交互 原理: js就是修改样式, 比如弹出一个对话框. 弹出的过程就是这个框由disable 变成display:enable. 又或者当鼠标指向 ...
- ORACLE——日期时间格式化参数详解 之一
2.日期格式化参数详解 2.1 -/,.;: 指定返回字串分隔符 SQL> select to_char(sysdate,'yyyy.mm.dd') from dual; TO_CHAR(SYS ...
- Wordpress菜单函数wp_nav_menu各参数详解及示例
Wordpress菜单函数wp_nav_menu各参数详解及示例 注册菜单 首先要注册菜单,将以下函数添加至function.php函数里 register_nav_menus(array( ...
- C语言函数参数的传递详解
一.三道考题 开讲之前,我先请你做三道题目.(嘿嘿,得先把你的头脑搞昏才行--唉呀,谁扔我鸡蛋?)考题一,程序代码如下:void Exchg1(int x, int y){ int tmp; ...
随机推荐
- 我的第一个项目(七):(解决问题)Vue中canvas无法绘制图片
好家伙, 现在,我想要把我的飞机大战塞到我的主页里去,想办法把文件导入 然后,直接死在第一步,图片渲染都成问题 先用vue写一个测试文件 来测试canvas的绘制 <template> ...
- 【Azure App Service for Linux】Linux Web App如何安装系统未安装的包
问题描述 Linux Web App中如何安装系统默认未安装的包,如何来执行如 apt install XXX命令呢?现在遇见的问题时,通过Azure App Service门户中的SSH登录后,执行 ...
- C#的托盘窗体显示与隐藏效果 - 开源研究系列文章
今天无聊,进行的C#的编码内容仍然在继续.这些天不断地在完善及编写C#的Winform相关的代码,并将其整理形成博文.这次带来的是关于窗体的显示及隐藏效果的代码段.上次有过一个代码,这次当做新代码进行 ...
- BeanShell Sampler 前置处理器
一概念: 前置处理器主要作用: 用于修改即将发送的http的请求数据 BeanShell预处理器可以在取样器发送请求之前被执行,可以通过它完成发送请求所需的数据 其中的ctx.vars.props.p ...
- 微软应用商店错误代码“0x80131500”怎么修复?
处理方法一 打开"运行"输入 inetcpl.cpl ("WINDOWS"+"R"键,输入 inetcpl.cpl亦可),点开高级往下拉,勾 ...
- JAVA 多线程---面经
线程与进程 提到进程那就要说程序,程序有指令和数据,程序从磁盘加载到内存,cpu获得指令进行执行,其中还会用到各种资源如网络资源,磁盘等.一个程序从磁盘进入内存,就是进程实例的创建. 一个程序可以有多 ...
- (转载)Transfer-Encoding:chunked详解
原文链接:Transfer-Encoding:chunked详解_transfer-encoding: chunked_公众号:流花鬼的博客-CSDN博客 概念 分块传输编码(Chunked tran ...
- vite环境配置mockjs
mockjs使用文档v2.9.6 安装插件 npm i mockjs -S npm i vite-plugin-mock@2.9.6 配置vite.config.ts文件 export default ...
- vue css 背景图 路径 记得加波浪号 background-image: url("~@/assets/images/d.jpg");
vue css 背景图 路径 记得加波浪号 background-image: url("~@/assets/images/d.jpg"); 为什么 不加波浪号,图片显示不出来哟
- echart 带表格
"echarts": "^5.2.2", ChartSituation1 <template> <div> <EChartTemp ...