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
格式化输出到文件里。 - 程序运行后文件的内容为:
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
函数,进行格式化打印。 - 最终的打印结果为:
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腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表