首页 > 其他分享 >一文了解 Go fmt 标准库的常用占位符及其简单使用

一文了解 Go fmt 标准库的常用占位符及其简单使用

时间:2022-12-23 19:04:39浏览次数:33  
标签:小明 Name 18 fmt 占位 Printf Go

耐心和持久胜过激烈和狂热。

哈喽大家好,我是陈明勇,今天分享的内容是 Go fmt 标准库的常用占位符及其简单使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

占位符

通过占位符,可以指定格式进行输入或输出,以下为 ​​fmt​​ 标准库里的占位符:

  • 普通占位符

占位符

描述

举例

结果

%v

默认格式的值

fmt.Printf("%v", User{Name: "小明", Age: 18})

{小明 18}

%+v

如果打印的是结构体,额外打印字段名

fmt.Printf("%+v", User{Name: "小明", Age: 18})

{Name:小明 Age:18}

%#v

对应值的 Go 语法表示

fmt.Printf("%#v", User{Name: "小明", Age: 18})

main.User{Name:"小明", Age:18}

%T

对应值类型的 Go 语法表示

fmt.Printf("%T", User{Name: "小明", Age: 18})

main.User

%%

非占位符,而是字面上的 %

fmt.Printf("%%")

%

  • 布尔

占位符

描述

举例

结果

%t

对应值 true 或 false

fmt.Printf("%t", false)

false

  • 整数

占位符

描述

举例

结果

%b

二进制的形式

fmt.Printf("%b", 2)

10

%c

对应的Unicode码位表示的字符

fmt.Printf("%c", 65)

A

%d

十进制的形式

fmt.Printf("%d", 10)

10

%5d

十进制的形式,长度为5,长度不够用空格来补

fmt.Printf("%5d", 123)

__123,由于空格显示不出来,用下划线表示空格

%o

八进制的形式

fmt.Printf("%o", 10)

12

%O

前缀为0o的八进制的形式

fmt.Printf("%O", 10)

0o12

%q

使用 Go 语法安全转义的单引号字符文字

fmt.Printf("%q", 65)

'A'

%x

十六进制的形式,字母部分用小写字母 a-f 表示

fmt.Printf("%x", 12)

c

%X

十六进制的形式,字母部分用大写字母 A-F 表示

fmt.Printf("%X", 12)

C

%U

Unicode 格式

fmt.Printf("%U", 15)

U+000F

  • 浮点数

占位符

描述

举例

结果

%f

打印小数,默认的长度和小数,小数精度为 6 位

fmt.Printf("%f", 1.50000000001)

1.500000

%5f

长度为 5(整数和小数点以及小数加起来的长度),默认小数精度6位,长度不够则用空格来补

fmt.Printf("%10f", 0.1)

__0.100000,由于空格显示不出来,用下划线表示空格

%.3f

默认长度,小数精度为 3

fmt.Printf("%.3f", 0.1)

0.100

%7.3f

长度为 7(整数和小数点以及小数加起来的长度),小树精度为 3

fmt.Printf("%7.3f", 0.1)

__ 0.100,由于空格显示不出来,用下划线表示空格

  • 字符串和字节切片

占位符

描述

举例

结果

%s

输出 string 类型或 []byte 类型的字符串形式

fmt.Printf("%s, %s", "haha", []byte("haha"))

haha, haha

%q

加上双引号的字符串

fmt.Printf("%q", "haha")

"haha"

%x

十六进制的形式,字母用小写表示,每个字节两个字符

fmt.Printf("%x", "hello")

68656c6c6f

%X

十六进制的形式,字母用大写表示,每个字节两个字符

fmt.Printf("%X", "hello")

68656C6C6F

  • 切片

占位符

描述

举例

结果

%p

以16进制表示的第0个元素的地址,前缀为0x

fmt.Printf("%p", []int{1, 2, 3})

0xc000010120

  • 指针

占位符

描述

举例

结果

%p

16进制表示,前缀为0x

fmt.Printf("%p", &User{Name: "小明"})

0xc000008078

标签:小明,Name,18,fmt,占位,Printf,Go
From: https://blog.51cto.com/chenmingyong/5963323

相关文章

  • Google的操作系统就是Ubuntu?
    记得以前网上曾有一个新闻说google要推出基于Linux的桌面操作系统与微软竞争,不过事过不久后有人指出该新闻是某网友制作的假新闻。虽然这条假新闻没有当年盖茨遇刺身亡那么......
  • crm项目包含django创建虚拟环境:
    CRM项目业务权限CRM客户关系管理系统(customerrelationshipmanagement)使用人员:销售财务班主任讲师助教业务:登录注册销售:客户信息管理展示新增编辑跟进记录的管......
  • 使用 REST 访问 MongoDB 数据
    本指南将引导您完成创建应用程序的过程,该应用程序通过基于超媒体休息的前端。您将构建什么您将构建一个Spring应用程序,该应用程序允许您创建和检索存储在​​Person​​蒙......
  • Argocd rollout 蓝绿发布步以及灰度发布步骤图形讲解
    灰度发布1、5个pod2、百分之二十灰度3、全部新版蓝绿发布1、原始应用2、部署预览服务3、流量切换删除旧pod......
  • mongodb查看数据库和表的信息
    mongodb查看数据库和表的信息mongodb查看数据库和表的方法比较简单,在为这里推荐使用stats的方法,直观并且详细。1、查看数据库db.stats();1输出:{"db":"sirius","colle......
  • SpringBoot2.x系列教程51--NoSQL之SpringBoot整合MongoDB
    SpringBoot2.x系列教程51--NoSQL之SpringBoot整合MongoDB作者:一一哥一.MongoDB1.MongoDB简介MongoDB一词来自于英文单词“Humongous”,中文含义为“庞大”,是由C++语言编写......
  • Go-19 Golang结构体和JSON相互序列化和反序列化
    packagemainimport( "encoding/json" "fmt")//Golang结构体和Json相互转换 序列化和反序列化typeStudentstruct{ IDint Genderstring namestri......
  • MongoDB 3.x版本无法找到mongod.cfg文件以及无法开启远程访问的解决方案
    本篇博客主要在于解决mongodb3.6版本开启远程访问,并非mongodb软件安装指南。如果你安装后可以看到bin\mongod.cfg文件,那么无需看此博客这里附一条安装方法的连接https://bl......
  • Go语言核心知识回顾(接口、Context、协程)
    温故而知新接口接口是一种共享边界,计算机系统的各个独立组件可以在这个共享边界上交换信息,在面向对象的编程语言,接口指的是相互独立的两个对象之间的交流方式,接口有如下......
  • 自定义python Django文件存储系统
    在学习Django框架的时候,我们已经讲过,Django自带文件存储系统,但是默认文件存储在本地,在本项目中,我们需要将文件保存到FastDFS服务器上,所以需要自定义文件存储系统。自定义......