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

2023-10-15 23:38:22 浏览数 (3)

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

代码语言:go复制
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 格式化输出到文件里。
  • 程序运行后文件的内容为:
代码语言:txt复制
123456
789

Print、Printf、Println

代码语言:go复制
import (
    "fmt"
)

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

Sprint、Sprintf、Sprintln

代码语言:go复制
import (
    "fmt"
)

func main() {
    s1 := fmt.Sprint("hello, world!")
    fmt.Printf("%#vn", s1)
    s2 := fmt.Sprintln("hello, gopher!")
    fmt.Printf("%#vn", s2)
    name := "小明"
    s3 := fmt.Sprintf("hello, %s", name)
    fmt.Printf("%#vn", s3)
}
  • 通过 Sprint 将指定内容转成默认格式的字符串并用变量 s1 接收,通过占位符 %#v 打印出 s1 的原生内容 → "hello, world!"
  • 通过 Sprintln 将指定内容转成默认格式的字符串并添加换行符,用变量 s2 接收,通过占位符 %#v 打印出 s2 的原生内容 → "hello, gopher!n"
  • 通过 Sprintf 将指定内容转成指定格式的字符串并用变量 s3 接收,通过占位符 %#v 打印出 s3 的原生内容 → "hello, 小明"

小结

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

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

0 人点赞