【转】 Golang输入输出格式化Printf Springf Fprintf..
// Go 在传统的`printf` 中对字符串格式化提供了优异的支持。
// 这里是一些基本的字符串格式化的人物的例子。 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) // 如果值是一个结构体,`%+v` 的格式化输出内容将包括
// 结构体的字段名。
fmt.Printf("%+v\n", p) // `%#v` 形式则输出这个值的 Go 语法表示。例如,值的
// 运行源代码片段。
fmt.Printf("%#v\n", p) // 需要打印值的类型,使用 `%T`。
fmt.Printf("%T\n", p) // 格式化布尔值是简单的。
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")
}
Reference:
https://gobyexample.com/string-formatting Go by Example: String Formatting
https://play.golang.org/p/1-9cY_Q5eM
【转】 Golang输入输出格式化Printf Springf Fprintf..的更多相关文章
- Go输入输出格式化Printf
package main import ( "fmt" "os" ) type point struct { x, y int } func main() { ...
- Golang的格式化输出fmt.Printf
本文来源:Go by example. Golang的格式化输出 和 C语言的标准输出基本一样,但是增加了一些针对Golang语言的特有数据结构的格式化输出方式. 一下就是实例: package ma ...
- scanf printf sprintf fprintf
都是C语言中的函数,但C++保留了这些函数,在头文件iostream中声明了. 1 scanf(格式控制,输出列表) printf (格式控制,输出列表) 举例: #include <iostr ...
- printf,sprintf,fprintf的区别与联系
在写代码过程中总会遇到printf和sprintf,既然这两个都遇到了,那么不妨再加一个fprintf吧. 他们三个都是将格式化字符串输出,区别就是他们输出的目标不一样. (1).printf,是把格 ...
- golang之格式化fmt.Printf
当使用fmt包打印一个数值时,我们可以用%d.%o或%x参数控制输出的进制格式,就像下面的例子: o := 0666 fmt.Printf("%d %[1]o %#[1]o\n", ...
- C 格式化的输入输出(printf scanf)
- 左对齐 (默认右对齐) printf("%-9d\n",123); 123 printf("%9d\n",123); 123 printf ...
- Linux下printf、fprintf、sprintf的区别
(1)fprintf() int fprintf( FILE *stream, const char *format, ... ); 用于文件操作,根据指定的format(格式)发送信息(参数)到 ...
- PHP字符串函数之 sscanf echo print sprintf vsprintf printf vprintf fprintf vfprintf
sscanf – 根据指定格式解析输入的字符 echo – 输出一个或多个字符串 print – 输出字符串 sprintf – 返回格式化字符串 vsprintf – 返回格式化字符串 (参数为数组 ...
- printf、fprintf、sprintf和snprintf 区别
都是把格式好的字符串输出,只是输出的目标不一样: 1 printf,是把格式字符串输出到标准输出(一般是屏幕,可以重定向). 2 sprintf,是把格式字符串输出到指定字符串中,所以参数比print ...
随机推荐
- php实现TXT小说章节解析、小说章节在线阅读
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 要实现TXT文本章节的解析,大概思路是在每个章节加入了特定的字符,然后根据字符的起始位 ...
- javascript之传输加密
为什么要使用javascript加密呢?服务端加密远远不够,客户端或者浏览器端也需要加密,以此保证传输信息过程的安全. 今天就我工作中说说这么几种加密算法及其对应的应用场景,如下所示: base64 ...
- Redis 实现安全队列
Redis的列表数据结构可以让我们方便的实现消息队列 例如用 LPUSH(BLPUSH)把消息入队,用 RPOP(BRPOP)获取消息 绝大部分的情况下,这些操作都是没问题的,但并不能保证绝对安全 当 ...
- 首页技术支持常见问题宽带外网IP显示为10、100、172开头,没有公网IP,如何解决?
1.表现形式: 路由器拨号获得的公网IP变成了一个以100开头的IP(或者是10.172开头),而打开ip138.com查询却又是另外一个IP,将100开头的这个IP到百度去查询下则显示所在区域为美国 ...
- python调用数据返回字典dict数据的现象1
python调用数据返回字典dict数据的现象1 思考: 可以看到这两种情况,区别在于构造函数make()里赋值给字典dict的方式不同.使用相同的调用方式,而结果却完全不同.可以看到第二种情况才是我 ...
- [SHOI2006]color 有色图[群论、组合计数]
题意 用 \(m\) 种颜色,给 \(n\) 个点的无向完全图的 \(\frac{n(n-1)}{2}\) 条边染色,两种方案相同当且仅当一种方案交换一些点的编号后可以变成另一种方案.问有多少本质不同 ...
- 使用docker Registry快速搭建私有镜像仓库
当我们执行docker pull xxx的时候,docker默认是从registry.docker.com这个地址上去查找我们所需要的镜像文件,然后执行下载操作.这类的镜像仓库就是docker默认的公 ...
- 【Python撩妹合集】微信聊天机器人,推送天气早报、睡前故事、精美图片分享
福利时间,福利时间,福利时间 如果你还在为不知道怎么撩妹而烦恼,不知道怎么勾搭小仙女而困惑,又或者不知道怎么讨女朋友欢心而长吁短叹. 那么不要犹豫徘徊,往下看.接下来我会分享怎么使用 Python 实 ...
- [Linux]Debian 9重启DNS重置问题
先编辑/etc/resolv.conf, 添加一个DNS, 比如114.114.114.114 然后sudo apt-get install resolvconf 然后编辑/etc/resolvcon ...
- Leetcode 143. Reorder List(Medium)
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...