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")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)