go标准库之fmt
go标准库之fmt
fmt库
Print系列
1. Print
不换行
2. Println
换行
3. Printf
不换行,可以使用格式化占位符
格式化占位符
| 占位符 | 说明 |
|---|---|
| 通用 | --- |
| %v | 值的默认格式 |
| %+v | 会输出结构体的字段名 |
| %#v | 值的go语法表示 |
| %T | 类型 |
| %% | 输出% |
| 布尔类型 | --- |
| %t | true或者false |
| 整形 | --- |
| %b | 二进制 |
| %c | |
| %d | 十进制 |
| %o | 八进制 |
| %x | 16进制小写 |
| %X | 16进制大写 |
| %U | unicode格式: U+.... |
| %q | 类似%c,但是多了单引号 |
| 浮点数 | --- |
| %b | |
| %e | |
| %E | |
| %f | 可以跟C语言一样,%.2f |
| %F | 同%f |
| %g | 用%f或%g就够了,其他懒的了解 |
| %G | |
| 字符串 | --- |
| %s | 可以打印字符串或者[]byte切片 |
| %q | 会用双引号括起来,会显示转义表示无法显示的内容 |
| %x | 16进制显示字符串 |
| %X | 16进制显示字符串 |
| 指针 | --- |
| %p |
格式化占位符宽度标识符
%-10.2f表示宽度10,精度2,靠左对齐,默认是靠右对齐
%010.2f表示宽度10,精度2,补齐不是空格,而是0
%#x 补0x
%#X 补0X
%#0 补0
使用%s
使用%s时需要注意不是像C语言一样,到0结束符就结束了,go里不一样,会一直打印到结束
比如 []byte{'a', 'b', 0, 'c', 'd'},使用 %s 打印,则会输出abcd
Fprint系列
跟Print系列一样,就是多了第一个参数,作为输出
1. Fprint
不换行
2. Fprintln
换行
3. Fprintf
不换行,可以使用格式化占位符
等同于 Print(os.Stdout, ...) 系列
输出到文件写法
file, err := os.OpenFile("abc.txt", os.O_CREATE|os.O_RDWR, 0644)
if err != nil {
return
}
fmt.Fprintf(file, "我是%s\n", "rouchie")
Sprint系列
跟Print系列一样,就是不是打印而是打印的字符串
1. Sprint
不换行
2. Sprintln
换行
3. Sprintf
不换行,可以使用格式化占位符
字符串拼接
s := fmt.Sprintf("%d:%s", 123, "name")
浙公网安备 33010602011771号