D(编程语言)/d2/你好,世界!
外观
< D(编程语言)
(重定向自 D(编程语言)/d2/第一课)在本课中,您将学习如何使用 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 程序都包含一个 main 函数。该函数不返回值,因此被声明为“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
不同,因为它在末尾添加了一个换行符。