Nemo'nun cevabına dayanmak için:
printlndilde yerleşik bir işlevdir. Spesifikasyonun Bootstrapping bölümündedir . Bağlantıdan:
Mevcut uygulamalar, önyükleme sırasında yararlı olan çeşitli yerleşik işlevler sağlar. Bu işlevlerin eksiksiz olduğu belgelenmiştir ancak dilde kalmaları garanti edilmez. Sonuç döndürmezler.
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
Bu nedenle, geliştiriciler için yararlıdırlar çünkü bağımlılıkları yoktur (derleyicide yerleşiktirler), ancak üretim kodunda yoktur. Bunu not etmek printve println bildirmekstderrstdout de önemlidir , değil .
fmtBununla birlikte, tarafından sağlanan aile , üretim kodunda olacak şekilde inşa edilmiştir. stdoutAksi belirtilmedikçe, tahmin edilebilir şekilde rapor ederler . Bunlar daha çok yönlü (edilmektedir fmt.Fprint*birine bildirebilirsiniz io.Writergibi os.Stdout, os.Stderrhatta bir net.Conn. Tipi) ve uygulama özgü değildir.
Çıktıdan sorumlu çoğu paketin fmtbağımlılığı vardır, örneğin log. Programınız üretimde herhangi bir çıktı üretecekse fmt, büyük olasılıkla istediğiniz pakettir.