D编程语言中printf("Hello, world!")
和writeln("Hello, world!")
之间有什么区别?
我注意到writeln()
最终会被自己打破,而printf()
却没有。这是唯一的区别吗?
答案 0 :(得分:6)
printf
正在调用C函数,因此通过C类型规则工作。值得注意的是,您必须正确获取格式字符串,否则您将无意义。例如,在您指定int
而不是%s
时传递%d
可能会导致您的计划崩溃。
writef
知道你传递的类型,因此在大多数情况下会自动做正确的事情,或者在不可能的情况下抛出异常,而不是破坏你的记忆。
writefln
是writef
,它会自动添加一个新行。
答案 1 :(得分:2)
printf
接受格式字符串。 (例如printf("number = %d", 123)
打印"数字= 123")
writeln
会将每个参数转换为字符串并依次打印它们,然后打印换行符。 (例如writeln("number = ", 123)
打印"数字= 123")