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

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

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

哈喽大家好,我是陈明勇,本文分享的内容是 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 标准库的常用输出函数进行了介绍。输出函数分三类介绍,第一类是输出到输出流里,第二类是标准输出,第三类是输出到字符串里。并给出简单的示例代码。

目录
相关文章
|
4月前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
2月前
|
JSON Go 开发者
go-carbon v2.5.0 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。
53 4
|
2月前
|
存储 Cloud Native Shell
go库介绍:Golang中的Viper库
Viper 是 Golang 中的一个强大配置管理库,支持环境变量、命令行参数、远程配置等多种配置来源。本文详细介绍了 Viper 的核心特点、应用场景及使用方法,并通过示例展示了其强大功能。无论是简单的 CLI 工具还是复杂的分布式系统,Viper 都能提供优雅的配置管理方案。
|
2月前
|
JSON 安全 网络协议
go语言使用内置函数和标准库
【10月更文挑战第18天】
23 3
|
2月前
|
JSON 监控 安全
go语言选择合适的工具和库
【10月更文挑战第17天】
19 2
|
2月前
|
存储 Go PHP
Go语言中的加解密利器:go-crypto库全解析
在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
144 0
|
4月前
|
Go
go函数
go函数
39 10
|
3月前
|
Linux 编译器 Go
cgo--在Go中链接外部C库
cgo--在Go中链接外部C库
|
4月前
|
编译器 Go C++
Go to Learn Go之函数
Go to Learn Go之函数
39 0
|
4月前
|
编译器 Go 索引
Go数组、多维数组和切片(动态数组),及常用函数len(),cap(),copy(),append()在切片中的使用
本文介绍了Go语言中数组、多维数组和切片(动态数组)的基本概念和操作,包括数组的定义、初始化、访问,多维数组的定义和访问,以及切片的创建、使用和扩容。同时,还讲解了切片中常用的函数len()、cap()、copy()和append()的使用方法。