fmt标准库是我们在学习Go语言过程中接触最早最频繁的一个了,本文介绍了fmtb包的一些常用函数。

fmt

fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。

向外输出

标准库fmt提供了以下几种输出相关函数。

Print

Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符串,Println函数会在输出内容的结尾添加一个换行符。

func Print(a ...interface{
     }) (n int, err error)
func Printf(format string, a ...interface{
     }) (n int, err error)
func Println(a ...interface{
     }) (n int, err error)

举个简单的例子:

func main() {
     
	fmt.Print("在终端打印该信息。")
	name := "沙河小王子"
	fmt.Printf("我是:%s\n", name)
	fmt.Println("在终端打印单独一行显示")
}

执行上面的代码输出:

在终端打印该信息。我是:沙河小王子
在终端打印单独一行显示

Fprint

Fprint系列函数会将内容输出到一个io.Writer接口类型的变量w中,我们通常用这个函数往文件中写入内容。

func Fprint(w io.Writer, a ...interface{
     }) (n int, err error)
func Fprintf(w io.Writer, format string, a ...interface{
     }) (n int, err error)
func Fprintln(w io.Writer, a ...interface{
     }) (n int, err error)

举个例子:

// 向标准输出写入内容
fmt.Fprintln(os.Stdout, "向标准输出写入内容")
fileObj, err := os.OpenFile("./xx.txt", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
if err != nil {
     
	fmt.Println("打开文件出错,err:", err)
	return
}
name := "沙河小王子"
// 向打开的文件句柄中写入内容
fmt.Fprintf(fileObj, "往文件中写如信息:%s", name)

注意,只要满足io.Writer接口的类型都支持写入。

Sprint

Sprint系列函数会把传入的数据生成并返回一个字符串。

func Sprint(a ...