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")
go标准库之fmt的更多相关文章
- Go语言系列之标准库fmt
fmt包实现了类似C语言printf和scanf的格式化I/O.主要分为向外输出内容和获取输入内容两大部分. 向外输出 标准库fmt提供了以下几种输出相关函数. Print Print系列函数会将内容 ...
- python学习笔记系列----(八)python常用的标准库
终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...
- 用CAS操作实现Go标准库中的Once
Go标准库中提供了Sync.Once来实现"只执行一次"的功能.学习了一下源代码,里面用的是经典的双重检查的模式: // Once is an object that will p ...
- golang 标准库间依赖的可视化展示
简介 国庆看完 << Go 语言圣经 >>,总想做点什么,来加深下印象.以可视化的方式展示 golang 标准库之间的依赖,可能是一个比较好的切入点.做之前,简单搜了下相关的内 ...
- Go 标准库 http.FileServer 实现静态文件服务
http.FileServer 方法属于标准库 net/http,返回一个使用 FileSystem 接口 root 提供文件访问服务的 HTTP 处理器.可以方便的实现静态文件服务器. http.L ...
- go标准库的学习-path/filepath
参考https://studygolang.com/pkgdoc 标准库path中有的该path/filepath库中都有,所以一般都使用path/filepath 导入方式: import &quo ...
- Go标准库之读写文件(File)
Go标准库之读写文件(File) 创建一个空文件 package main import ( "log" "os" ) func main() { file, ...
- Go 标准库 —— sync.Mutex 互斥锁
Mutex 是一个互斥锁,可以创建为其他结构体的字段:零值为解锁状态.Mutex 类型的锁和线程无关,可以由不同的线程加锁和解锁. 方法 func (*Mutex) Lock func (m *Mut ...
- go标准库的学习-io
参考https://studygolang.com/pkgdoc 导入方式: import "io" o包提供了对I/O原语的基本接口.本包的基本任务是包装这些原语已有的实现(如o ...
- go标准库的学习-bufio
参考https://studygolang.com/pkgdoc 导入方式: import "bufio" bufio包实现了有缓冲的I/O.它包装一个io.Reader或io.W ...
随机推荐
- Electron 打包 (electron-builder)
本文只测试了Windows 10 下打包Windows基础安装包 更多花哨的配置,请戳官方文档 https://www.electron.build/ www.electron.build/ 构建基 ...
- class和struct区别
类(class) 引用类型:将一个对象赋值给另一个对象时,系统不会对此对象进行拷贝,而会将指向这个对象的指针赋值给另一个对象,当修改其中一个对象的值时,另一个对象的值会随之改变. 结构体(struct ...
- vmware网络连接
vmware提供桥接模式网络连接.网络地址转换 (NAT).仅主机模式网络连接和自定义网络连接选项,用于为虚拟机配置虚拟网络连接.在安装 vmware 时,已在主机系统中安装用于所有网络连接配置的软件 ...
- Using ML.NET in Jupyter notebooks 在jupyter notebook中使用ML.NET ——No design time or full build available
题外话:标题直接用了微软开发博客的标题.近期需要调研一个项目的可行性,github上有个相似度很高的方案,但项目是写在jupyter里的C#代码.为了能跑起来看看效果,不得已搭了套相关的环境.本来以为 ...
- 汇总-软件-分类:SSH客户端工具
官网-FinalShell 官网-Tabby GitHub-Tabby
- vim 小记录
将str1批量替换成str2 , 特殊符号前用转译符 \ :%s/str1/str2/g
- DOM状态监听(观察者模式)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- pg9.6查询优化
目录 1 样例数据集 2 explain基础 3 执行计划节点结构 3.1 基本代价计算 3.2 执行计划格式输出 4 组装行集合 4.1 扫描方式 4.2 处理节点 1 样例数据集 wget htt ...
- webpack5 与webpack4 之间差别
1.terserPlugin webpack4 上需要下载安装 terser-webpack-plugin 插件,并且需要配置,webpack5 上生产模式下默认开启压缩,开发环境也可以按如下配置 / ...
- memoのPython和3D那点事
首先来说,python想要搞点啥3D的玩意,是真麻烦.可以撤了. 少侠别走! 虽然很艰难,我还是找到一些体验不错的python库,可以拿来用. 首先,就是这里.前提是需要有conda.我直接装了个mi ...