Golang fmt.Fprintf()函数及示例
在Golang语言中,fmt包是一个非常常用和强大的包,它提供了很多强大的函数,比如Println()、Printf()和Print()等函数。在这些函数中,我们想要把格式化的文本输出到一个字符串、文件或者客户端上。fmt.Fprintf()函数可以完成这个任务。下面我们就来看看fmt.Fprintf()函数的具体用法。
fmt.Fprintf()函数简介
fmt.Fprintf()函数的作用是根据格式标识符(format verb)将指定的值进行格式化,并写入到指定的io.Writer(w)中。这个函数的定义如下:
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) {
p := newPrinter()
defer p.free()
p.doPrintf(format, a)
n, err = w.Write(p.buf)
return
}
在函数的参数中,第一个参数w io.Writer是一个接口类型,可以接受任何实现了io.Writer接口的类型,比如os.File、os.Stdout、bytes.Buffer等,第二个参数format string定义了格式标识符,最后的…interface{}参数接受一个或多个参数。
fmt.Fprintf()函数示例
我们通过几个示例来了解fmt.Fprintf()函数的使用方法。
示例1:在控制台中输出字符串
package main
import (
"fmt"
"os"
)
func main() {
var s string = "hello, world!"
fmt.Fprintf(os.Stdout, "%s", s)
}
上面的示例中,我们使用os.Stdout作为fmt.Fprintf()函数的第一个参数,这样输出的字符串就会在控制台中显示。
示例2:写入文件中
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.Create("test.txt")
if err != nil {
fmt.Println(err)
return
}
var s string = "hello, world!"
fmt.Fprintf(f, "%s", s)
f.Close()
}
在上面的示例中,我们通过os.Create()创建了一个文件,并将文件对象f作为fmt.Fprintf()函数的第一个参数传递进去,这样字符串就会写入到文件中。
示例3:输出数字
package main
import (
"fmt"
"os"
)
func main() {
var i int = 123
fmt.Fprintf(os.Stdout, "%d", i)
}
在上面的示例中,我们使用%d格式标识符将一个整数输出到控制台中。
示例4:输出浮点型
package main
import (
"fmt"
"os"
)
func main() {
var f float64 = 3.1415926
fmt.Fprintf(os.Stdout, "%.3f", f)
}
在上面的示例中,我们使用%.3f格式标识符将一个浮点数输出到控制台中,保留小数点后三位。
结论
以上就是fmt.Fprintf()函数的在Golang中的用法,它非常的灵活,可以通过格式标识符的设置来完成不同的需求,可以通过不同的io.Writer实现不同的输出方式。希望这篇文章对你有所帮助。