println() and fmt.Println()
manuel

manuel @mnlwldr

About: I’m known as mnlwldr on various platforms. I’m a software developer and live in the southwest of Germany near the France border.

Location:
Germany
Joined:
Jan 13, 2017

println() and fmt.Println()

Publish Date: Apr 15 '21
6 0

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 {
    fmt.Println("y")
}
Enter fullscreen mode Exit fullscreen mode

and

for {    
    println("y")    
}        
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

Comments 0 total

    Add comment