D(编程语言)/d2/Hello, World!
外观
< D(编程语言)
在本课中,您将学习如何使用 Phobos 库写入控制台。此外,您还将了解 D 程序的结构。
我们将从绝对必要的 Hello World 示例开始。
/* This program prints a
hello world message
to the console. */
import std.stdio;
void main()
{
writeln("Hello, World!");
}
在本课中,我们将看到 import
语句、主函数、Phobos 标准库的使用,以及一个代码注释。
Phobos 库包含 std.stdio 模块,该模块又包含 writeln 函数(以及其他各种函数)。要使用该函数,您必须先导入该模块。请注意,D 中的语句以分号结尾。
所有可执行的 D 程序都包含一个主函数。此函数不返回值,因此它被声明为“void”(从技术上讲,这是一个过度简化。main
的返回值将在后面更详细地解释。)此函数在程序运行时执行。
函数体代码包含在花括号中。虽然缩进和空格只针对读者,而不是针对编译器,但请确保您正确且一致地缩进和格式化代码;这通常是一种良好的编码实践。
writeln
用于写入标准输出(在本例中为控制台)。您可以提供一个字符串,例如 "Hello, World!"
作为参数,该字符串将被打印出来。此函数有四种基本形式:带或不带格式,以及带或不带尾部换行符。为了演示它们的工作原理,以下所有内容都是等效的(虽然第一个和第三个内容不会在 Windows 上刷新 stdout
)
// write: Plain vanilla
write("Hello, World!\n"); // The \n is a newline
write("Hello, ", "World!", "\n");
write("Hello, ");
write("World!");
write("\n");
// writeln: With automatic newline
writeln("Hello, World!");
writeln("Hello, ", "World!");
// writef: Formatted output
writef("Hello, %s!\n", "World");
// writefln: Formatted output with automatic newline
writefln("Hello, %s!", "World");
writefln("%s, %s!", "Hello", "World");
writefln("%2$s, %1$s!", "World", "Hello"); // Backwards order
此程序的前几行是注释。它们被编译器忽略。块注释包含在 /* */
中。行注释在 //
后继续。
这是一个行注释示例
import std.stdio; // I am a comment
void main(){} //this program does nothing
D 还支持嵌套的块注释,包含在 /+ +/
中
/+
thisIsCommentedOut();
/+ thisIsCommentedOut(); +/
thisIsSTILLCommentedOut();
+/
这与普通的块注释不同,普通的块注释与 C 中的行为相同
/*
thisIsCommentedOut();
/* thisIsCommentedOut(); */
thisIsNOTCommentedOut();
// The following line is a syntax error:
*/
writeln
与write
不同,因为它在末尾添加了一个换行符。