当前位置: 首页 > news >正文

Go语言fmt包中print相关方法

Go语言的fmt包提供了多种打印相关的函数,主要用于在控制台或其他输出目标上格式化并输出数据。下面是一些常用的print相关方法的用途和区别:

1.fmt.Print()

  • 功能fmt.Print() 将参数的内容按默认格式输出到标准输出(通常是控制台),不会添加任何额外的格式或换行符。
  • 特点:
    • 输出内容之间没有分隔符。
    • 不会在输出后自动添加换行符。

2. fmt.Println()

  • 功能fmt.Println() 将参数的内容按默认格式输出到标准输出,并在每个参数之间自动添加空格,最后添加一个换行符。
  • 特点:
    • 参数之间用空格分隔。
    • 输出内容后会自动添加一个换行符。

3. fmt.Printf()

  • 功能fmt.Printf() 允许使用格式化字符串来输出内容。您可以指定格式说明符以控制输出的格式。
  • 特点:
    • 支持各种格式化选项,如整数、浮点数、字符串等。
    • 输出不会自动添加换行符,除非在格式字符串中显式包含换行符。

4. fmt.Sprint()

  • 功能fmt.Sprint() 与 fmt.Print() 类似,但它会将格式化后的字符串返回,而不是直接输出到标准输出。
  • 特点:
    • 返回格式化后的字符串(多个参数间加空格)。
    • 可以将其结果存储在变量中或进行进一步处理。

5. fmt.Sprintf()

  • 功能fmt.Sprintf() 与 fmt.Printf() 类似,但它将格式化后的字符串返回,而不是直接输出到标准输出。
  • 特点:
    • 允许使用格式化字符串来控制输出格式。
    • 返回格式化后的字符串,适用于需要将格式化结果作为字符串使用的情况。

6. fmt.Fprint()fmt.Fprintf()fmt.Fprintln()

  • 功能: 这些函数用于将格式化内容输出到指定的 io.Writer 接口(如文件、网络连接等)。
  • 特点:
    • fmt.Fprint(): 不添加任何分隔符或换行符。
    • fmt.Fprintf(): 使用格式化字符串来控制输出格式。
    • fmt.Fprintln(): 在输出内容之间添加空格,最后添加换行符。

总结

  • fmt.Print(): 输出内容,之间无分隔符,无换行符。
  • fmt.Println(): 输出内容,自动分隔和添加换行符。
  • fmt.Printf(): 格式化输出,支持复杂格式化,输出内容无换行符。
  • fmt.Sprint(): 格式化内容并返回字符串。
  • fmt.Sprintf(): 格式化内容并返回字符串,支持复杂格式化。
  • fmt.Fprint()fmt.Fprintf()fmt.Fprintln(): 输出到指定 io.Writer,支持不同的格式和功能。

7.常见的格式化占位符

1.%s: 输出字符串

  • 用于格式化字符串类型。
fmt.Printf("Hello, %s!\n", "Alice")
// 输出: Hello, Alice!

2.%d: 输出整数

  • 用于格式化十进制整数类型。
fmt.Printf("Number: %d\n", 42)
// 输出: Number: 42

3.%f: 输出浮点数

  • 用于格式化浮点数类型。
fmt.Printf("Float: %f\n", 3.14159)
// 输出: Float: 3.141590

4.%x: 输出十六进制整数

  • 用于格式化整数为十六进制表示。
fmt.Printf("Hex: %x\n", 255)
// 输出: Hex: ff

5.%o: 输出八进制整数

  • 用于格式化整数为八进制表示。
fmt.Printf("Octal: %o\n", 64)
// 输出: Octal: 100

6.%b: 输出二进制整数

  • 用于格式化整数为二进制表示。
fmt.Printf("Binary: %b\n", 5)
// 输出: Binary: 101

7.%c: 输出字符

  • 用于格式化单个字符(基于其整数值)。
fmt.Printf("Character: %c\n", 65)
// 输出: Character: A

8.%p: 输出指针

  • 用于格式化指针地址。
var x int
fmt.Printf("Pointer: %p\n", &x)
// 输出: Pointer: 0xc0000b4000

9.%v: 输出默认格式

  • 用于格式化值的默认表示形式。
fmt.Printf("Value: %v\n", 123)
// 输出: Value: 123

10.%T: 输出类型

  • 用于输出值的类型。
fmt.Printf("Type: %T\n", 123)
// 输出: Type: int

11.%+v: 输出结构体时显示字段名

  • 用于格式化结构体时,显示字段名。
type Person struct {Name stringAge  int
}
p := Person{"Alice", 30}
fmt.Printf("Person: %+v\n", p)
// 输出: Person: {Name:Alice Age:30}

12.%#v: 输出值的 Go 语法表示

  • 用于格式化值为 Go 语言的语法表示。
fmt.Printf("Go syntax: %#v\n", 123)
// 输出: Go syntax: 123

13.%e: 输出浮点数的科学记数法

  • 用于浮点数的科学记数法表示。
fmt.Printf("Scientific: %e\n", 1234.567)
// 输出: Scientific: 1.234567e+03

14.%g: 输出浮点数的最简洁表示

  • 用于浮点数的最简洁表示(自动选择 %f 或 %e)。
fmt.Printf("Compact: %g\n", 155555534.233)
// 输出: Compact: 1.55555534233e+08fmt.Printf("Compact: %g\n", 155534.233)
// 输出: Compact: 155534.233

格式化标志

除了占位符本身,您还可以使用格式化标志来控制输出的宽度、对齐、精度等。常见的格式化标志包括:

  • %5d: 输出一个宽度为 5 的整数,右对齐,不足部分填充空格。
  • %-5d: 输出一个宽度为 5 的整数,左对齐,不足部分填充空格。
  • %.2f: 输出浮点数,保留两位小数。
fmt.Printf("Right-aligned: %5d\n", 42)
//输出:Right-aligned:    42fmt.Printf("Left-aligned: %-5d\n", 42)
//输出:Left-aligned: 42   fmt.Printf("Float with precision: %.2f\n", 3.14159)
//输出:Float with precision: 3.14
http://www.lryc.cn/news/417866.html

相关文章:

  • 图片转为pdf怎么弄?亲测有效的8个pdf转换方法安利
  • 贪吃蛇(使用QT)
  • 【案例40】Apache中mod_proxy模块的使用
  • 简单安装Android Studio并使用
  • 在Python中,模块(Module)和包(Package)
  • Node版本管理工具
  • 创建并发布NPM模块
  • 20240807软考架构-------软考31-35答案解析
  • 简单实现二叉树(链表实现)
  • 搭建 Web 群集Haproxy
  • PDF隐写思路
  • Pycharm 常用快捷键
  • android音频录音,(一)MediaRecorder简介
  • autoX.js
  • 日本软文发稿:日本主流发稿媒体有哪些?
  • 翰德恩赋能中国邮政信息科技产品创新系列培训
  • 分享一个基于SpringBoot的英语学习平台Java英语学习任务打卡系统(源码、调试、LW、开题、PPT)
  • Golang学习笔记
  • 详解【多线程与并发】之线程
  • Linux安全与高级应用(四)深入探索MySQL数据库:安装、管理与安全实践
  • 「iOS」自定义Modal转场——抽屉视图的实现
  • 【数据结构】顺序结构实现:特殊完全二叉树(堆)+堆排序
  • 【c++学习技术栈】
  • swift 自定义DatePacker
  • MySQL事务,锁,MVCC总结
  • 24/8/7 算法笔记 支持向量机回归问题天猫双十一
  • win7系统利用定时启动+脚本实现MySQL文件自动备份
  • 基于Java多线程处理数据
  • 日常知识点之遇到问题结构体按位构造协议时和期望不一致,研究记录一下
  • spring mvc 文件下载