以nemo的答案为基础:println是语言内置的功能。它在规范的Bootstrapping部分中。从链接:当前的实现提供了一些自举过程中有用的内置函数。这些功能已记录完整,但不能保证始终保留该语言。他们不返回结果。Function Behaviorprint prints all arguments; formatting of arguments is implementation-specificprintln like print but prints spaces between arguments and a newline at the end因此,它们对开发人员很有用,因为它们缺少依赖项(已内置到编译器中),但在生产代码中却没有。同样重要的是要注意print并向println 而stderr不是向stdout。fmt但是,由提供的系列是在生产代码中构建的。stdout除非另有说明,否则它们会向预测地报告。他们更灵活(fmt.Fprint*可向任何报告io.Writer,例如os.Stdout,os.Stderr或者甚至是一个net.Conn类型。),并没有实现特定的。大多数负责输出的包都具有fmt依赖项,例如log. 如果您的程序要在生产中输出任何内容,fmt则很可能是您想要的软件包。