go的fmt包使用和字符串的格式化

本文详细介绍了Go语言中的fmt标准库,包括Print系列、Printf、Println、Fprint家族、Sprint家族以及Errorf等输出函数,以及Scan、Scanf、Scanln、Fscan家族、Sscan家族等输入函数。同时,文章深入探讨了格式化数据占位符的使用,如%v、%+v、%#v、%T、%%等,并给出了各种数据类型的占位符示例。此外,还讨论了使用fmt格式化时可能遇到的问题,如String()方法的无限递归问题及其解决方案。

目录

1. 标准库fmt提供几种输出/输入相关函数。

2. 格式化数据占位符

3. 使用fmt个格式化遇到的问题


fmt包提供了类似于C的print和scan的函数实现格式化I/O。 fmt主要提供了输出和输入两大类型的函数以及字符串格式化的的方法。

1. 标准库fmt提供几种输出/输入相关函数。

1. Print系列函数会将内容输出到系统的标准输出

func Print(a ...interface{}) (n int, err error)

2.Printf函数支持格式化输出字符串到系统的标准输出

func Printf(format string, a ...interface{}) (n int, err error)

3. Println函数会在输出内容的结尾添加一个换行符,输出到系统的标准输出

func Println(a ...interface{}) (n int, err error)

4. Fprint系列函数会将内容输出到一个io.Writer接口类型的变量w中,我们通常用这个函数往文件中写入内容。

func Fprint(w io.Writer, a ...interface{}) (n int, err error)
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
func Fprintln(w io.Writer, a ...interface{}) (n int, err error)

5. Sprint系列函数会把传入的数据生成并返回一个字符串。

func Sprint(a ...interface{}) string
func Sprintf(format string, a ...interface{}) string
func Sprintln(a ...interface{}) string

6. Errorf函数根据format参数生成格式化字符串并返回一个包含该字符串的错误。

func Errorf(format string, a ...interface{}) error

相对于fmt输出,fmt 提供了相对应的输入函数:

1. 从标准输入获取用户的输入。

func Scan(a ...interface{}) (n int, err error)

2. 根据format参数指定的格式,从标准输入读取数据

func Scanf(format string, a ...interface{}) (n int, err error)

3. 从标准输入获取数据,直到获取到换行符结束

func Scanln(a ...interface{}) (n int, err error)

4. 和Fpritn相对应的Fscan,从io.Reader中读取数据

func Fscan(r io.Reader, a ...interface{}) (n int, err error)
func Fscanln(r io.Reader, a ...int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿CKeen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值