package main
import "fmt"
import "os"
type point struct {
x, y int
}
func main() {
//Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了 point 结构体的一个实例。
p := point{1, 2}
fmt.Printf("%v\n", p) // {1 2}
//如果值是一个结构体,%+v 的格式化输出内容将包括结构体的字段名。
fmt.Printf("%+v\n", p) // {x:1 y:2}
//%#v 形式则输出这个值的 Go 语法表示。例如,值的运行源代码片段。
fmt.Printf("%#v\n", p) // main.point{x:1, y:2}
//需要打印值的类型,使用 %T。
fmt.Printf("%T\n", p) // main.point
//格式化布尔值是简单的。
fmt.Printf("%t\n", true)
//格式化整形数有多种方式,使用 %d进行标准的十进制格式化。
fmt.Printf("%d\n", 123)
//这个输出二进制表示形式。
fmt.Printf("%b\n", 14)
这个输出给定整数的对应字符。
fmt.Printf("%c\n", 33)
%x 提供十六进制编码。
fmt.Printf("%x\n", 456)
//对于浮点型同样有很多的格式化选项。使用 %f 进行最基本的十进制格式化。
fmt.Printf("%f\n", 78.9)
//%e 和 %E 将浮点型格式化为(稍微有一点不同的)科学技科学记数法表示形式。
fmt.Printf("%e\n", 123400000.0)
fmt.Printf("%E\n", 123400000.0)
//使用 %s 进行基本的字符串输出。
fmt.Printf("%s\n", "\"string\"")
//像 Go 源代码中那样带有双引号的输出,使用 %q。
fmt.Printf("%q\n", "\"string\"")
//和上面的整形数一样,%x 输出使用 base-16 编码的字符串,每个字节使用 2 个字符表示。
fmt.Printf("%x\n", "hex this")
//要输出一个指针的值,使用 %p。
fmt.Printf("%p\n", &p)
//当输出数字的时候,你将经常想要控制输出结果的宽度和精度,可以使用在 % 后面使用数字来控制输出宽度。默认结果使用右对齐并且通过空格来填充空白部分。
fmt.Printf("|%6d|%6d|\n", 12, 345)
//你也可以指定浮点型的输出宽度,同时也可以通过 宽度.精度 的语法来指定输出的精度。
fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45)
//要最对齐,使用 - 标志。
fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45)
//你也许也想控制字符串输出时的宽度,特别是要确保他们在类表格输出时的对齐。这是基本的右对齐宽度表示。
fmt.Printf("|%6s|%6s|\n", "foo", "b")
//要左对齐,和数字一样,使用 - 标志。
fmt.Printf("|%-6s|%-6s|\n", "foo", "b")
//到目前为止,我们已经看过 Printf了,它通过 os.Stdout输出格式化的字符串。Sprintf 则格式化并返回一个字符串而不带任何输出。
s := fmt.Sprintf("a %s", "string")
fmt.Println(s)
//你可以使用 Fprintf 来格式化并输出到 io.Writers而不是 os.Stdout。
fmt.Fprintf(os.Stderr, "an %s\n", "error")
}
当前位置:网站首页>golang fmt.printf()(转)
golang fmt.printf()(转)
2022-07-04 12:49:00 【Lucky小黄人】
边栏推荐
- . Net using redis
- Three schemes to improve the efficiency of MySQL deep paging query
- C#基础深入学习二
- 以房抵债能否排除强制执行
- HAProxy高可用解决方案
- Flet教程之 03 FilledButton基础入门(教程含源码)(教程含源码)
- CVPR 2022 | transfusion: Lidar camera fusion for 3D target detection with transformer
- C language programming topic reference
- 【R语言数据科学】:交叉验证再回首
- Scripy framework learning
猜你喜欢
苹果5G芯片研发失败:继续依赖高通,还要担心被起诉?
如何在 2022 年为 Web 应用程序选择技术堆栈
Summary of recent days (non-technical article)
CTF competition problem solution STM32 reverse introduction
Detailed explanation of Fisher information quantity detection countermeasure sample code
Samsung's mass production of 3nm products has attracted the attention of Taiwan media: whether it can improve the input-output rate in the short term is the key to compete with TSMC
How to choose a technology stack for web applications in 2022
硬件基础知识-二极管基础
嵌入式编程中五个必探的“潜在错误”
博士申请 | 西湖大学学习与推理系统实验室招收博后/博士/研究实习等
随机推荐
Alibaba cloud award winning experience: build a highly available system with polardb-x
.Net之延迟队列
30: Chapter 3: develop Passport Service: 13: develop [change / improve user information, interface]; (use * * * Bo class to accept parameters, and use parameter verification)
C语言小型商品管理系统
The old-fashioned synchronized lock optimization will make it clear to you at once!
CommVault cooperates with Oracle to provide metallic data management as a service on Oracle cloud
remount of the / superblock failed: Permission denied
c#数组补充
Commvault 和 Oracle 合作,在 Oracle 云上提供 Metallic数据管理即服务
动画与过渡效果
2022g3 boiler water treatment examination question simulation examination question bank and simulation examination
HAProxy高可用解决方案
SCM polling program framework based on linked list management
[AI system frontier dynamics, issue 40] Hinton: my deep learning career and research mind method; Google refutes rumors and gives up tensorflow; The apotheosis framework is officially open source
Detailed explanation of Fisher information quantity detection countermeasure sample code
德明利深交所上市:市值31亿 为李虎与田华夫妻档
Getting started with microservices
Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
Optional values and functions of the itemized contenttype parameter in the request header
逆向调试入门-PE结构-资源表07/07