在Golang中,Fprint*中的f代表”file”,表示将输出写入文件而不是标准输出。

huangapple go评论86阅读模式
英文:

Golang Fprint* what does the f stand for

问题

fmt包提供了一些用于字符串格式化的函数。
我相当确定Sprint*代表字符串打印。
Print*写入到标准输出(STDOUT)。
Fprint*函数中的F代表什么意思?

英文:

The fmt package has some functions for string formatting.
Sprint* I am pretty sure stands for string print.
Print* writes to STDOUT
What does the F stand for with the Fprint* functions?

答案1

得分: 16

"f"代表"file",这是C/Unix的一个术语。当然,Fprint可以写入任意的Writer,但在Unix世界中,文件是一个相当通用的概念,可以指代从"普通"文件到套接字(流)或程序生成的数据等几乎任何东西(在任何负面评价之前 - 是的,我知道我有点过于简化,但问题不是关于Unix文件概念的,所以...)

fmt函数的命名与C的命名类似,以便让已经熟悉它们的C程序员更容易使用。

英文:

The "f" stands for "file" - it's a C/Unix-ism. Of course Fprint can write to arbitrary Writers, but in the Unix world file is a pretty generic concept and can refer to pretty much anything from "normal" files to socket (streams) or data generated by programs (before any downvotes - yes, I know I'm a bit oversimplifying things, but the question wasn't about the Unix concept of a file so...)

The fmt function names are similar to the C names to ease C programmers already familiar with them in.

huangapple
  • 本文由 发表于 2014年1月18日 20:49:31
  • 转载请务必保留本文链接:https://go.coder-hub.com/21204318.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定