我见过的大多数D语言教程都使用printf
将文本输出到控制台,但这可能不对。我知道D提供了对C / C ++库的直接访问,但是不应该使用D的控制台输出功能吗?将文本(格式化或其他方式)输出到控制台窗口的首选方法是什么?
答案 0 :(得分:9)
在模块std.stdio
中,您会找到write
和朋友:writeln
,writef
和writefln
。
write
只接受每个参数,将其转换为字符串,然后输出:
import std.stdio;
void main()
{
write(5, " <- that's five"); // prints: 5 <- that's five
}
writef
将第一个字符串视为格式说明符(很像C的printf
),并使用它来格式化剩余的参数:
import std.stdio;
void main()
{
writef("%d %s", 5, "<- that's five"); // prints: 5 <- that's five
}
以“ln
”结尾的版本等同于没有它的版本,但在打印结束时也附加换行符。所有版本都是类型安全的(因此可扩展)。
答案 1 :(得分:1)
printf
的使用主要是历史性的。它已被使用,因为它是在一个自动导入的模块中声明的,并且使示例更短。此外,D的作者编写了许多示例和IIRC,在调试编译器时,他更喜欢printf
而不是writef
,因为不会出错。加上肌肉记忆导致printf
泄漏到例子中。