fmt打印不显示 go_Go语言fmt.Printf使用指南(占位符总结)

本文整理了Go语言的标准输出流(fmt.Printf)在打印到屏幕时的格式化输出操作。

在这里按照占位符将被替换的变量类型划分,更方便查询和记忆。

总结

1.1 General(通用占位符)

占位符

说明

%v

以默认的方式打印变量的值(万能占位符,如果不知道变量是什么类型,用%v即可,go语言会自动为你识别)

%T

打印变量的类型

%%

字面上的百分号,并非值的占位符

补充:

%v:默认格式的值。当打印结构时,加号(%+v)会增加字段名;

%#v:Go 样式的值表达;

示例:

package main

import "fmt"

func main() {

var (

a = 100

b = "henry"

)

// %v俗称占位符

fmt.Printf("a=%v\n", a)

// %T 打印类型

fmt.Printf("b的类型是%T\n", b)

// %%转义

fmt.Printf("%d%%\n", a)

}

执行结果:

1.2 Integer(整型)

占位符

说明

%+d

带符号的整型

%q

打印单引号

%o

不带零的八进制

%#o

带零的八进制

%x

小写的十六进制

%X

大写的十六进制

%#x

带0x的十六进制

%U

打印Unicode字符

%#U

打印带字符的Unicode

%b

打印整型的二进制

1.3 Integer width(指定长度的整型,以5为例)

占位符

说明

%5d

整型长度为5,右对齐,左边留白

%-5d

左对齐右边留白

%05d

数字前面补零

示例:

package main

import "fmt"

func main() {

var (

a = 100

)

fmt.Printf("|%d|\n", a)

fmt.Printf("|%8d|\n", a)

fmt.Printf("|%-8d|\n", a)

fmt.Printf("|%08d|\n", a)

}

执行结果:

1.4 Float(浮点数)

占位符

说明

%f

(=%.6f) 6位小数点

%e

(=%.6e) 6位小数点(科学计数法)

%g

用最少的数字来表示

%.3g

最多3位数字来表示

%.3f

最多3位小数来表示

示例:

package main

import "fmt"

func main() {

f1 := 3.141592654

fmt.Printf("%.2f\n", f1) //最多2位小数表示

fmt.Printf("%.2g\n", f1) //最多用2位数字表示

}

执行结果:

1.5 String(字符串)

占位符

说明

%s

正常输出字符串

%q

字符串带双引号,字符串中的引号带转义符

%#q

字符串带反引号,如果字符串内有反引号,就用双引号代替

%x

将字符串转换为小写的16进制格式

%X

将字符串转换为大写的16进制格式

% x

带空格的16进制格式

示例:

package main

import "fmt"

func main() {

s1 := "这是一个字符串\""

fmt.Printf("s1:%s\n", s1) // %s 正常输出字符串

fmt.Printf("s1:%q\n", s1) // %q 字符串带双引号,字符串中的引号带转义符

}

执行结果:

1.6 String Width (指定长度的字符串,以5为例)

占位符

说明

%5s

最小宽度为5

%-5s

最小宽度为5(左对齐)

%.5s

最大宽度为5

%5.7s

最小宽度为5,最大宽度为7

%-5.7s

最小宽度为5,最大宽度为7(左对齐)

%5.3s

如果宽度大于3,则截断

%05s

如果宽度小于5,就会在字符串前面补零

代码示例:

package main

import "fmt"

func main() {

s1 := "这是一个字符串\""

fmt.Printf("s1:%20s\n", s1) //字符串最小宽度为20

fmt.Printf("s1:%.5s\n", s1) //字符串最大宽度为5

}

执行结果:

1.7 Struct(结构体)

占位符

说明

%v

以默认的方式打印变量的值

%+v

在打印结构体时,会添加字段名

%#v

在打印结构体时,会添加字段名和包名

1.8 Boolean(布尔值)

占位符

说明

%t

打印true或false

1.9 Pointer(指针)

占位符

说明

%p

带0x的指针(指针值带有0x的十六进制前缀)

%#p

不带0x的指针

Go语言fmt.Printf使用指南

文章引用自 fmt fmt包实现了类似C语言printf和scanf的格式化I/O.主要分为向外输出内容和获取输入内容两大部分. 向外输出 标准库fmt提供了以下几种输出相关函数. Print Pri ...

Android中使用占位符

Android中占位符的使用 有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法. strings.xml中节点是支持占位符的,如下所示: < ...

C语言 - printf的占位符(%) 异常

printf的占位符(%) 异常 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26719135 C语言中, 使用%代表占位符的意 ...

【GoLang】GoLang fmt 占位符详解

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. # 定义示例类型和变量 type Human struct { Name string } var peo ...

golang fmt占位符

golang fmt格式"占位符" golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. 定义示例类型和变量 type Human stru ...

golang fmt格式占位符

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. # 定义示例类型和变量 type Human struct { Name string } var peo ...

golang中fmt的&#39;占位符&#39;使用

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. # 定义示例类型和变量 type Human struct { Name string } var peo ...

【Go】Go语言的%d,%p,%v等占位符的使用

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. # 定义示例类型和变量 type Human struct { Name string } var peo ...

随机推荐

php调用COM组件

PHP 开启COM组件 1.先到PHP.INI中打开COM选项,com.allow_dcom = true 2.我这里的环境是PHP5.4.7,PHP 5.4.5后,com/dotnet 模块已经成了 ...

C primer plus 练习题 第六章

16. #include int main() { double remain = 100.0; ; ) { remain = remain * 0.08 + rema ...

网站的配置文件XML读写

网站的配置信息一般都写入到XML中,以下是简单的对xml的读写操作,仅供参考. 读操作: XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettin ...

jQuery AJAX load() 方法

jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selector). ...

es6的对象新增的方法

Object.is 可以看成是=== 的加强版, 其修正了 === 的 NaN 不等于自身, 以及 +0 等于 -0 另外说下, == 会自动转型, 但是 Object.is 也是如果类型不一致也是不 ...

MySQL--执行mysql脚本及其脚本编写

http://www.cnblogs.com/kex1n/archive/2010/03/26/2286504.html

To pack or not to pack – MyISAM Key compression

MyISAM storage engine has key compression which makes its indexes much smaller, allowing better fit ...

开源CMDB详细安装使用

CMDB的GitHub地址: https://github.com/open-cmdb/cmdb 环境说明 [root@WCY ~]# cat /etc/redhat-release CentOS L ...

GPU instancing

参考 https://www.cnblogs.com/hont/p/7143626.html github地址 https://github.com/yingsz/instancing/ 补充2点: ...

你可能感兴趣的:(fmt打印不显示,go)