一文了解 Go fmt 标准库输出函数的使用

Go 语言fmt库详解:输出函数使用与示例
本文介绍了Go语言fmt标准库中的输出函数,包括Fprint、Fprintf、Fprintln、Print、Printf、Println、Sprint、Sprintf和Sprintln的用法,并通过示例代码展示了如何将内容写入文件、标准输出以及转换为字符串。通过这些函数,开发者可以方便地进行格式化输出和字符串操作。

耐心和持久胜过激烈和狂热。

哈喽大家好,我是陈明勇,今天分享的内容是 Go fmt 标准库输出函数的使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!

fmt 输出函数

函数描述
Fprint(w io.Writer, a …any) (n int, err error)使用默认格式将参数写入到 w 中,如果相邻两个参数都不是字符串,则在它们之前添加空格
Fprintf(w io.Writer, format string, a …any) (n int, err error)根据格式说明符进行格式化,并写入到 w 中
Fprintln(w io.Writer, a …any) (n int, err error)使用默认格式将参数写入到 w 中,参数之间添加空格和换行符
Print(a …any) (n int, err error)打印指定参数,如果相邻两个参数都不是字符串,打印时用空格隔开
Printf(format string, a …any) (n int, err error)根据格式说明符进行格式化并打印
Println(a …any) (n int, err error)打印指定参数,参数之间用空格和换行符分隔
Sprint(a …any) string将参数按照默认格式进行格式化,如果相邻两个参数都不是字符串则在其中间添加空格,并以字符串的结果返回
Sprintf(format string, a …any) string根据格式说明符进行格式化并以字符串的结果返回
Sprintln(a …any) string将参数按照默认格式进行格式化,参数之间添加空格和换行符,并以字符串的结果返回

Fprint、Fprintf、Fprintln

import (
	"fmt"
	"os"
)

func main() {
	file, err := os.OpenFile("./test.txt", os.O_WRONLY, 0666)
	if err != nil {
		return
	}
	defer file.Close()

	fmt.Fprint(file, "123")
	fmt.Fprintln(file, "456")
	fmt.Fprintf(file, "%d", 789)
}
  • 打开 test.txt 文件,通过 Fprint 函数先将 123 写入到文件里;
  • 然后通过 Fprintln 函数将 456 写入到文件里并换行;
  • 最后通过 Fprintf 函数将 789 格式化输出到文件里。
  • 程序运行后文件的内容为:
    123456
    789
    

Print、Printf、Println

import (
	"fmt"
)

func main() {
	fmt.Print("Hello, ")
	fmt.Println("World!")
	s := "golang!"
	fmt.Printf("Hello, %s", s)
}
  • 首先通过 Print 函数打印 Hello, ;
  • 然后通过 Println 函数打印 Wrold! 并换行,与上面打印的语句连起来,一行的打印内容为 Hello, World!;
  • 最后通过 Printf 函数,进行格式化打印。
  • 最终的打印结果为:
    Hello, World!
    Hello, golang!
    

Sprint、Sprintf、Sprintln

import (
	"fmt"
)

func main() {
	s1 := fmt.Sprint("hello, world!")
	fmt.Printf("%#v\n", s1)
	s2 := fmt.Sprintln("hello, gopher!")
	fmt.Printf("%#v\n", s2)
	name := "小明"
	s3 := fmt.Sprintf("hello, %s", name)
	fmt.Printf("%#v\n", s3)
}
  • 通过 Sprint 将指定内容转成默认格式的字符串并用变量 s1 接收,通过占位符 %#v 打印出 s1 的原生内容 → "hello, world!"
  • 通过 Sprintln 将指定内容转成默认格式的字符串并添加换行符,用变量 s2 接收,通过占位符 %#v 打印出 s2 的原生内容 → "hello, gopher!\n"
  • 通过 Sprintf 将指定内容转成指定格式的字符串并用变量 s3 接收,通过占位符 %#v 打印出 s3 的原生内容 → "hello, 小明"
  • 如果对占位符不是很了解的小伙伴,可以查看我的这篇文章 一文了解 Go fmt 标准库的常用占位符及其简单使用

小结

本篇文章对 fmt 标准库的常用输出函数进行了介绍。输出函数分三类介绍,第一类是输出到输出流里,第二类是标准输出,第三类是输出到字符串里。并给出简单的示例代码。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员陈_明勇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值