Untuk membangun jawaban nemo:
println
adalah fungsi yang dibangun ke dalam bahasa. Itu ada di bagian Bootstrap dari spesifikasi . Dari tautan:
Implementasi saat ini menyediakan beberapa fungsi bawaan yang berguna selama bootstrap. Fungsi-fungsi ini didokumentasikan untuk kelengkapan tetapi tidak dijamin tetap dalam bahasa tersebut. Mereka tidak memberikan hasil.
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
Jadi, mereka berguna bagi pengembang, karena mereka kekurangan ketergantungan (dibangun ke dalam kompiler), tetapi tidak dalam kode produksi. Penting juga untuk dicatat itu print
dan println
laporkan ke stderr
, bukanstdout
.
Keluarga yang disediakan oleh fmt
, bagaimanapun, dibangun untuk menjadi kode produksi. Mereka melapor ke stdout
, kecuali ditentukan lain. Mereka lebih fleksibel ( fmt.Fprint*
dapat melaporkan ke salah io.Writer
, seperti os.Stdout
, os.Stderr
, atau bahkan net.Conn
jenis.) Dan tidak implementasi tertentu.
Kebanyakan paket yang bertanggung jawab untuk keluaran memiliki fmt
ketergantungan, seperti log
. Jika program Anda akan mengeluarkan apa pun dalam produksi, fmt
kemungkinan besar paket yang Anda inginkan.