【Go】格式化输出、fmt.Printf()


一、格式化输出函数

1. 格式化输出函数

golang 的 fmt 包实现了格式化 I/O 函数:格式化输出Printf、格式化输入Scanf,类似于 C 的 printf 和 scanf。

一般通过在格式化输出函数 fmt.Printf() 中通过使用占位符来实现对字符的格式化控制输出。
因为 fmt 的 Printf() 是有格式的输出,切忌使用 Println(),否则将会以字符串的形式输出。

2. 几种输出函数的区别

Print、Println 、Printf 、Sprintf 、Fprintf 都是 fmt 包中的公共方法,在需要打印信息时需要用到这些函数,那么这些函数有什么区别呢?

Print:  输出到控制台(不接受任何格式化,它等价于对每一个操作数都应用 %v)
		fmt.Print(str)
Println: 输出到控制台并换行
		fmt.Println(tmp)
Printf : 只可以打印出格式化的字符串。只可以直接输出字符串类型的变量(不可以输出整形变量和整形等)	
		fmt.Printf("%d",a)
Sprintf:格式化并返回一个字符串而不带任何输出。
		s := fmt.Sprintf("a %s", "string") fmt.Printf(s)
Fprintf:来格式化并输出到 io.Writers 而不是 os.Stdout。
		fmt.Fprintf(os.Stderr, “an %s\n”,error)

二、占位符

1. 普通占位符

在这里插入图片描述

2. 布尔占位符

在这里插入图片描述

3. 整数占位符

在这里插入图片描述

4. 浮点数和复数的组成部分(实部和虚部)

在这里插入图片描述

5. 字符串与字节切片

在这里插入图片描述

6. 指针

在这里插入图片描述

7. 其它标记

在这里插入图片描述

8. 其他说明

(1)golang没有 ‘%u’ 点位符,若整数为无符号类型,默认就会被打印成无符号的。

(2)宽度与精度的控制格式以Unicode码点为单位。宽度为该数值占用区域的最小宽度;精度为小数点之后的位数。操作数的类型为int时,宽度与精度都可用字符 ‘*’ 表示。

(3)对于 %g/%G 而言,精度为所有数字的总数,例如:123.45,%.4g 会打印123.5,(而 %6.2f 会打印123.45)。

(4)%e 和 %f 的默认精度为6

(5)对大多数的数值类型而言,宽度为输出的最小字符数,如果必要的话会为已格式化的形式填充空格。而以字符串类型,精度为输出的最大字符数,如果必要的话会直接截断。


参考链接

  1. Go语言的%d,%p,%v等占位符的使用
  2. Go语言基础–Printf格式化输出、Scanf格式化输入详解
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值