Advertisement
In this blog, we are going to look at Golang Fprint, Fprintf, and the Fprintln Format functions from the Go FMT package.
Import Golang fmt package to use this Format function.
Golang Fprint
func Fprint(w io.Writer, a …interface{}) (n int, err error)
The Golang FMT package Fprint function takes a writer and variadic parameter in the form of empty interfaces and returns the number of bytes written as integer and an error with Golang error type.
Example:
fmt.Fprint(os.Stdout, "Golang Fprint")
Output:
Golang Fprint
Returning Values Example:
n, err := fmt.Fprint(os.Stdout, "Golang Fprint\n")
fmt.Fprint(os.Stdout, n, err)
Output:
Golang Fprint
14
Golang Fprintf
func Fprintf(w io.Writer, format string, a …interface{}) (n int, err error)
The Golang Fprintf format function from the Go Fmt Package takes a writer function, a format String, and empty interfaces as variadic parameters. The return values are the same as the Golang fprint function i.e the number of bytes written and the error.
Example:
s := "Golang Fprintf"
n, err := fmt.Fprintf(os.Stdout, "%v Type=%T\n", s, s)
fmt.Fprint(os.Stdout, n, err)
Output:
Golang Fprintf Type=string
27
Golang Fprintln
func Fprintln(w io.Writer, a …interface{}) (n int, err error)
The Golang Fprintln Function is the same as the Golang Fprint function but it always adds a new line at the end and we do not have to do it manually.
Example:
n, err := fmt.Fprintln(os.Stdout, "Golang Fprint\n")
fmt.Fprint(os.Stdout, n, err)
Output:
Golang Fprint
14
Writing to TCP Server Using Golang Fprintf
We know that the Go Fprint, Fprintf, and Fprintln functions always take the writer on which we have to perform the write function.
Earlier we used the standard out function from the Golang OS package.
This time we are going to use the Golang TCP server to write on it.
Example:
package main
import (
"fmt"
"net"
)
func main() {
listen, err := net.Listen("tcp", ":8080")
if err != nil {
panic(err)
}
defer listen.Close()
for {
conn, err := listen.Accept()
if err != nil {
fmt.Println(err)
}
fmt.Fprintln(conn, "Writing Using:")
io.WriteString(conn, "WriteString function from the Golang IO Package\n")
fmt.Fprint(conn, "Go Fprint\n")
fmt.Fprintf(conn, "%v Type=%T", "Fprintf", "Fprintf")
conn.Close()
}
}
Make sure that the Telnet feature is ON on Windows OS:
To Switch on the Telnet Feature on Windows, Go to Turn Windows Feature On or Off and Choose the Telnet and then apply the setting.
This will enable the telnet feature accessible using the command prompt in windows and the output will be shown.
Run the Go Code using Go Run or Build Command.
After Running the Go code, and run the telnet command on the command prompt to open the TCP Server.
> telnet localhost 8080
Output:
Writing Using:
WriteString function from the Golang IO Package
Go Fprint
Fprintf Type=string
The formatting may be different on the windows command prompt.
Go Fprint, Fprintf, and Fprintln functions are used to write on something that takes input from io.Writer.
Hope you like it!
Also, read Why Golang is called the future of Server-side language?
Learn more about Go Fprint, Fprintf, and Fprintln format functions from the Golang FMT package from the official Documentation.