【转】 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 ...
随机推荐
- [ZJOI2018]胖
嘟嘟嘟 都说这题是送分题,但我怎么就不觉得的呢. 看来我还是太弱了啊-- 大体思路就是对于每一个设计方案,答案就是每一个关键点能更新的点的数量之和. 关键在于怎么求一个关键点能更新那些点. 首先这些点 ...
- GT常见问题
1.需要root? 大部分核心功能都需要root权限.需要root的功能有:FPS.Mem Assistant.Logcat日志.抓包.流畅度获取(未开放). 2.root工具总弹出提示框要确认roo ...
- CF980E The Number Games
CF980E The Number Games 给定一棵大小为 \(n\) 的树,第 \(i\) 个点的点权为 \(2^i\) ,删掉 \(k\) 个点及其连边,使得剩下的点组成一个连通块,且权值和最 ...
- python:HTMLTestRunner测试报告优化
之前的博客有介绍过python的单元测试框架unittest,基于其扩展的测试报告模块HTMLTestRunner,不过这个报告本身的界面看起来太丑... 趁着今天有时间,找了两个二次开发优化后的HT ...
- 【开源】 bsf.mvc spingboot的扩展
springboot的扩展实现,让springboot开发更加简单:形成demo模板,以后开发更方便. 开源地址:https://gitee.com/chejiangyi/bsf.mvc/tree/m ...
- 自定义分页及Cookie、Session机制
分页 自定义分页 data = [] , ): tmp = {"id": i, "name": "alex-{}".format(i)} d ...
- 使用fiddlercore修改网页的返回内容
最近研究了一下FiddlerCore,发现这是个非常强大的工具.可以用来采集网页.修改网页数据.开发页游外挂等等. 使用这个工具,需要掌握一定的html和http知识,官方网站上也有例子可以下载. 看 ...
- python札记
进制转换 num = "0011"v = int(num, base=16)print(v)2->16
- ad2017安装以及破解
1.破Ad破解https://wenku.baidu.com/view/5e23a78e2e3f5727a5e962dd.html 2. Ad 汉化https://jingyan.baidu.com/ ...
- LZO
LZO 是致力于解压速度的一种数据压缩算法,LZO 是 Lempel-Ziv-Oberhumer 的缩写.这个算法是无损算法,参考实现程序是线程安全的. 实现它的一个自由软件工具是lzop.最初的库是 ...