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 函数和格式化动词详解的更多相关文章

  1. C语言printf()函数:格式化输出函数

    C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为:     int printf( char ...

  2. Go语言的GOPATH与工作目录详解

    这篇文章主要介绍了Go语言的GOPATH与工作目录详解,本文详细讲解了GOPATH设置.应用目录结构.编译应用等内容,需要的朋友可以参考下 GOPATH设置 go 命令依赖一个重要的环境变量:$GOP ...

  3. WordPress函数:get_bloginfo()用法详解

    描述 返回你博客的信息,这些信息可以用在任何地方的 PHP 代码中.这个函数,和 bloginfo() 一样,可以用来在模板文件的任何地方显示你博客的信息. 用法 <?php $bloginfo ...

  4. Delphi Format函数功能及用法详解

    DELPHI中Format函数功能及用法详解 DELPHI中Format函数功能及用法详解function Format(const Format: string; const Args: array ...

  5. PHP函数call_user_func和call_user_func_array详解

    今天在群里面,有个叫lewis的在问call_user_func_array的用法,因为之前一直没有用过,也不能说什么,于是看一下手册,发现是这么写的: call_user_func_array (P ...

  6. Log4J:Log4J三大组件:Logger+Appender+Layout 格式化编程详解

    快速了解Log4J Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录     (如何处理日志) Appender:日志输出目的地,负责日志的输出  (输出到什么 地方) Layo ...

  7. JS函数动作分层结构详解及Document.getElementById 释义 js及cs数据类型区别 事件 函数 变量 script标签 var function

    html +css 静态页面 js     动态 交互   原理: js就是修改样式, 比如弹出一个对话框. 弹出的过程就是这个框由disable 变成display:enable. 又或者当鼠标指向 ...

  8. ORACLE——日期时间格式化参数详解 之一

    2.日期格式化参数详解 2.1 -/,.;: 指定返回字串分隔符 SQL> select to_char(sysdate,'yyyy.mm.dd') from dual; TO_CHAR(SYS ...

  9. Wordpress菜单函数wp_nav_menu各参数详解及示例

    Wordpress菜单函数wp_nav_menu各参数详解及示例   注册菜单 首先要注册菜单,将以下函数添加至function.php函数里   register_nav_menus(array( ...

  10. C语言函数参数的传递详解

    一.三道考题 开讲之前,我先请你做三道题目.(嘿嘿,得先把你的头脑搞昏才行--唉呀,谁扔我鸡蛋?)考题一,程序代码如下:void Exchg1(int x, int y){   int tmp;    ...

随机推荐

  1. 详细的BoltDB学习记录文档

    最近项目中用到了boltdb这个go开发的key/value 数据库,但是之前并有接触过,所以特意去看了官方,也找了些资料,网上找的资料要不就是官方文档的翻译,要不就是简单的介绍一点,都不是很全,所以 ...

  2. RocketMQ(5) 订阅关系的一致性规范

    多个消费者组订阅了多个Topic,并且每个消费者组里的多个消费者实例的订阅关系应该保持一致. 例如下消费关系, 不同的消费组,消费不同的队列,相同的消费组订阅相同的队列,tag 错误示例: 一个消费者 ...

  3. Redis哨兵模式搭建

    一:哨兵主要作用 监控:监控redis主库及从库运行状态: 通知:如果redis发生故障转移,可以通过邮件通知管理员: 自动故障转移:一旦发现主库宕机,则在从库中通过选举新的master进行故障转移. ...

  4. 照片也能说话了?嘴型表情全同步,AI数字人时代要来了

    SadTalker是一款先进的人工智能模型,它通过从音频中学习生成3D运动系数,并使用全新的三维面部渲染器来生成头部运动,只需传入一张照片和一段音频,就能生成高质量的AI数字人视频 工作原理 1.显式 ...

  5. 虚拟机 centos web nodejs服务 外网映射

    虚拟机 centos web nodejs服务 外网映射 起因 为了不买云服务器也是拼了 1. 安装虚拟机 VMware-Workstation-Lite-15.5.1-15018445精简官方中文安 ...

  6. ncc - koa 后台源码加密打包工具 @vercel/ncc - webpack node打包更正规

    加个重点 webpack 打包更正规 安装 npm i -g @vercel/ncc 又发现一个 https://github.com/zeit/ncc npm i -g @zeit/ncc 卸载之前 ...

  7. 在Java中如何优雅的停止一个线程?可别再用Thread.stop()了!

    写在开头 经过上几篇博文的学习,我们知道在Java中可以通过new Thread().start()创建一个线程,那今天我们就来思考另外一个问题:线程的终止 自然终止有两种情况: 1. 线程的任务执行 ...

  8. 使用 libreoffice 批量化转化文件为 .pdf 并合并

    介绍使用 libreoffice 批量化将文件转化为 .pdf 然后合并.pdf文件的方法 很多人知道,在 Linux 系统中 WPS 是办公软件中很棒的选择.但其实 libreoffice 也是一个 ...

  9. day11-2-内置Tomcat的配置和切换

    SpringBoot内置Tomcat的配置和切换 1.基本介绍 SpringBoot支持的webServer:Tomcat,Jetty,Undertow 因为在spring-boot-starter- ...

  10. vue2(脚手架、组件)

    2.1 脚手架 使用前置: 第一步(没有安装过的执行):全局安装 @vue/cli npm install -g @vue/cli 第二步:切换到要创建项目的目录,然后使用命令创建项目 vue cre ...