在测试golang的println和fmt.println时需要帮助

时间:2015-06-27 14:54:00

标签: go println gofmt

我编写了简单的代码来测试println和fmt.Println,但是当我运行代码时,它几乎每次都会打印出不同的结果。我试图谷歌println和fmt.Println之间的差异,但没有得到任何结果。有没有人知道这两个函数的真正区别或优先级或顺序?

以下是代码:

package main
import (
    "fmt"
)

func main(){
    println("a")
    fmt.Println("b")
    println("c")
    fmt.Println("d")

    p()
}

func p(){
    println("e")
    fmt.Println("f")
    println("g")
    fmt.Println("h")
}

谢谢!

2 个答案:

答案 0 :(得分:3)

  

Builtin functions

     

func println

func println(args ...Type)
     

println内置函数将其参数格式化为   特定于实现的方式并将结果写入标准错误。   始终在参数之间添加空格,并附加换行符。   Println对于引导和调试很有用;它不是   保证保持语言。

     

Package fmt

     

func Println

     

func Println(a ...interface{}) (n int, err error)

     

Println使用其操作数和写入的默认格式进行格式化   到标准输出。总是在操作数和a之间添加空格   附加换行符。它返回写入的字节数和任何字节数   遇到写错误。

fmt.Println()使用stdout; println()使用stderr

正如所料,具有不同目的的两种不同功能会产生不同的结果。

答案 1 :(得分:2)

最佳做法:仅使用fmt.Println("My text...")

请勿使用println("My text...")