Để xây dựng dựa trên câu trả lời của nemo:
println
là một chức năng được xây dựng trong ngôn ngữ. Nó nằm trong phần Bootstrapping của thông số kỹ thuật . Từ liên kết:
Các triển khai hiện tại cung cấp một số chức năng tích hợp hữu ích trong quá trình bootstrapping. Các chức năng này được ghi lại cho đầy đủ nhưng không được bảo đảm trong ngôn ngữ. Họ không trả lại kết quả.
Function Behavior
print prints all arguments; formatting of arguments is implementation-specific
println like print but prints spaces between arguments and a newline at the end
Vì vậy, chúng hữu ích cho các nhà phát triển, vì họ thiếu phụ thuộc (được tích hợp vào trình biên dịch), nhưng không có trong mã sản xuất. Nó cũng quan trọng để lưu ý rằng print
và println
báo cáo stderr
, khôngstdout
.
Gia đình được cung cấp bởi fmt
, tuy nhiên, được xây dựng để được trong mã sản xuất. Họ báo cáo dự đoán stdout
, trừ khi có quy định khác. Chúng được linh hoạt hơn ( fmt.Fprint*
có thể báo cáo bất kỳ io.Writer
, chẳng hạn như os.Stdout
, os.Stderr
hoặc thậm chí là một net.Conn
loại.) Và không thực hiện cụ thể.
Hầu hết các gói chịu trách nhiệm đầu ra đều có fmt
sự phụ thuộc, chẳng hạn như log
. Nếu chương trình của bạn sẽ xuất ra bất cứ thứ gì trong sản xuất, fmt
rất có thể là gói mà bạn muốn.