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.rhkb.cn/news/397628.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【从零开始一步步学习VSOA开发】发布订阅服务端

发布订阅服务端 概念 **发布订阅模式(Publish-Subscribe Pattern)**是一种消息传递模式,其中发布者发布消息,而订阅者接收和处理这些消息。它是一种松耦合的通信方式,允许发布者和订阅者在不知道彼此存在的情况下进行…

【C++】面向对象三大特性之—— 多态(从底层带你理解多态)

目录 前言 什么是多态 多态的定义及实现 虚函数 虚函数的重写 多态的构成条件 虚函数重写的两个例外 协变 析构函数的重写(重要!!!) override 和 final(了解) override final 重载、…

linux 查看端口占用并处理

lsof 命令 lsof -i:端口注意pid netstat 命令 netstat -tnpla | grep 端口注意pid 查看详情 ps -ef | grep 3766607删除 kill -9 PIDkill -9 3766607

【整数规划】+【0—1规划】解决优化类问题(Matlab代码)

目录 文章目录 前言 一、整数规划 分类: 二、典例讲解 1.背包问题 2.指派问题 总结 前言 如果觉得本篇文章还不错的话,给作者点个赞鼓励一下吧😁😁😁 在规划问题中,有些最优解可能是分数或小数&am…

SpringBoot+Vue3+SSE实现实时消息语音播报

目录 1、前言 2、什么是SSE 2.1、与WebSocket有什么异同? 3、代码实现 3.1、前置代码 3.2、SSE相关代码 3.3、消息类相关代码 3.4 、前端代码 4、实机演示 1、前言 有这样一个业务场景,比如有一个后台管理系统,用来监听订单的更新&…

【NUCLEO-G071RB】010——TIM6-基本定时器

NUCLEO-G071RB:010——TIM6-基本定时器 基本定时器设计目标芯片配置程序修改运行测试 基本定时器 基本定时器只能用于计时,可以配置有无上溢出中断,它基本到不支持下溢出中断。它的时钟源(应该)是TPCLK,内…

ChatGPT首次被植入人类大脑:帮助残障人士开启对话

马斯克在脑机接口中最强大的竞争对手Synchron有了新的技术进展,他们首次将ChatGPT整合到其脑机系统中,以使瘫痪患者更容易控制他们的数字设备。Synchron凭借其独特的脑机接口(BCI)技术脱颖而出,该技术巧妙地运用了成熟…

【npm】如何将自己的插件发布到npm上

前言 简单说下 npm 是什么: npm 是一个 node 模块管理工具,也是全球最大的共享源。 npm 工具与 nodejs 配套发布,便利开发人员共享代码。npm 主要包括 npm 官方网站、CLI(控制台命令行工具)、和 registry(…

「Pytorch」BF16 Mixed Precision Training

在深度学习领域,神经网络的训练性能瓶颈常常出现在 GPU显存的使用上。主要表现为两方面: 单卡上可容纳的模型和数据量有限;显存与计算单元之间的带宽和延迟限制了运算速度; 为了解决显卡瓶颈的问题,涌现了不同的解决…

Arduino控制带编码器的直流电机速度

Arduino DC Motor Speed Control with Encoder, Arduino DC Motor Encoder 作者 How to control dc motor with encoder:DC Motor with Encoder Arduino, Circuit Diagram:Driving the Motor with Encoder and Arduino:Control DC motor using Encoder feedback loop: How …

深度学习碎碎念——碎片知识1

1、什么叫模型收敛?什么叫模型欠拟合和过拟合? 什么叫模型收敛?——模型收敛是指在训练过程中,模型的损失函数逐渐减小并且趋于稳定的状态。简而言之,当模型的训练过程达到一个稳定的点,使得进一步的训练不…

CV党福音:YOLOv8实现语义分割(一)

前面我们得知YOLOv8不但可以实现目标检测任务,还包揽了分类、分割、姿态估计等计算机视觉任务。在上一篇博文中,博主已经介绍了YOLOv8如何实现分类,在这篇博文里,博主将介绍其如何将语义分割给收入囊中。 YOLOv8语义分割架构图 …

【C++】特殊类的设计与类型转换

文章目录 1. 特殊类的设计1.1 不能被拷贝的类1.2 只能在堆上创建对象的类1.3 只能在栈上创建对象的类1.4 不能被继承的类1.5 只能创建一个对象的类(单列模式) 2. 类型转换2.1 C/C的类型转换2.2 C规定的四种类型转换2.2.1 static_cast2.2.2 reinterpret_c…

【吊打面试官系列-Elasticsearch面试题】对于 GC 方面,在使用 Elasticsearch 时要注意什么?

大家好,我是锋哥。今天分享关于 【对于 GC 方面,在使用 Elasticsearch 时要注意什么?】面试题,希望对大家有帮助; 对于 GC 方面,在使用 Elasticsearch 时要注意什么? 1、SEE 2、倒排词典的索引需…

vue3使用pnpm运行项目但是运行不起来

运行项目的时候发现根本运行不起来了 尝试过创建.npmr文件 删除node_modules重新下 但是都出现问题了 创建.npmr:不管用 删除node_modules重新下:文字编译乱码,utf-8可能解析处理问题 最后解决方法: 重新创建项目&#xff0…

网络科技公司官网电商软件开发小程序网站pbootcms模板带手机端

免费授权可商用网站模板 PC端移动端后台测试数据 所有页面均都能完全自定义标题/关键词/描述,PHP程序,安全、稳定、快速,响应式同一个后台,数据即时同步,简单适用,附带测试数据!!

物流仓库安全视频智能管理方案:构建全方位、高效能的防护体系

一、背景分析 随着物流行业的快速发展和仓储需求的日益增长,仓库安全成为企业运营中不可忽视的重要环节。传统的人工监控方式不仅效率低下,且难以做到全天候、无死角覆盖,给仓库资产和人员安全带来潜在风险。因此,引入仓库安全视…

了解细胞外基质:它是啥?有啥作用?

了解细胞外基质:它是啥?有啥作用? 大家好,今天我们来阅读这篇Biofabrication methods for reconstructing extracellular matrix mimetics发表于《Bioactive Materials》上的文章。细胞外基质在人体中起着至关重要的作用&#xff…

同城门户同城分类信息网站源码discuz插件+pc端+小程序端+49款插件

同城分类信息 同城好店 同城合伙人 同城招聘 同城卡 同城活动 同城优惠抢购 同城商城 同城头条 同城抽奖 同城拼团 同城砍价 同城电话本 同城认证 同城签到 同城拼车 同城红包 同城子站点 同城相亲 同城交友 同城小程序 比较流行的同城信息门户网站源码,基于dz&…

【计算机网络】网络基础概念

目录 计算机网络发展 协议 协议分层 OSI 七层模型 TCP/IP 五层(四层)模型 究竟什么是协议? 网络与操作系统的关系 网络传输基本流程 局域网网络传输流程 认识 MAC 地址 局域网(以太网为例)通信原理 数据包…