DEV Community


println() and fmt.Println()

mnlwldr profile image manuel Originally published at on ・1 min read

println() is a built-in function and looks useful to developers, because they lack dependencies. But there is a difference between fmt.Println() and println().

println() write to stderr instead of stdout and I never noticed that before, maybe because I didn’t used println so much in the past.

I discovered this because I wanted to compare the throughput of

for {
Enter fullscreen mode Exit fullscreen mode


for {    
Enter fullscreen mode Exit fullscreen mode

by pipe this to pv -r. So I wondered why I got a lot of “y” in the println() variant.

The println built-in function formats its arguments in an implementation-specific way and writes the result to standard error. Spaces are always added between arguments and a newline is appended. Println is useful for bootstrapping and debugging; it is not guaranteed to stay in the language.

println in the Golang built-in documentation

Discussion (0)

Forem Open with the Forem app