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

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 标准库的常用输出函数进行了介绍。输出函数分三类介绍,第一类是输出到输出流里,第二类是标准输出,第三类是输出到字符串里。并给出简单的示例代码。

原文地址:https://juejin.cn/post/7182962992328212539