Golang: fmt 的使用

本文详细解析了Go语言中fmt包的功能与用法,对比了Print、Println、Printf、Sprint、Sprintln和Sprintf之间的区别,并通过具体示例说明了如何根据不同需求选择合适的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Print vs. Println vs. Printf

Print vs. Println

Print 和 Println 基本是一样的,区别在于 Println 在输出后会自动换行, 也就是说,以下两行的输出效果是一样的:
fmt.Print("Testing fmt.\n")
fmt.Println("Testing fmt.")
如果将"\n"写为单独的输入参数
fmt.Print("Testing fmt.", "\n")
由于空格会被自动添加到多个参数中间,以上这行的输出在行末会多一个空格。

Print vs. Printf

  • Printf 的基本用法

实际应用中常用的一种场景,我们需要输出特定格式的输出内容,比如说输出:
"Current Testing function is {function_name}"
其中 function_name 在不同的函数中的实际值是不同的。这个时候,就需要使用 Printf 了。
function_name = "test_fmt"
fmt.Printf("Current Testing function is %v.\n", function_name)
这样,我们就会得到输出:
Current Testing function is test_fmt
如果使用 Print:
function_name = "test_fmt"
fmt.Print("Current Testing function is %v.\n", function_name)
输出结果则是:
Current Testing function is %v.
test_fmt
如果想要得到与 Printf 一样的输出,需要写成
fmt.Print("Current Testing function is ", function_name, "\n")
  • 单个输入参数

Print 可以以任何类型的的数据作为输入参数, string, init, struct等。
Printf 仅能接受 string 类型的输入参数。

Print vs. SPrint

  • 功能不同

Print 将输入参数转换为 string 后, 写入标准输出。也就是程序运行时,我们可以在运行界面看到转换后的 string。
Sprint 仅完成将输入参数转换为String,不会写入标准输出。

  • 函数返回值不同

Print 的返回值有两个,分别表示写入标准输出的字节数以及写入时是否有错误发生:
func Print(a ...interface{}) (n int, err error)

Sprint 返回转换后的字符串:
func Sprint(a ...interface{}) string
  • 类比
    • Println vs. Sprintln
    • Printf vs. Sprintf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值