跳至内容

D(编程语言)/d2/Hello, World!

50% developed
来自维基教科书,开放的书籍,开放的世界

第一课:Hello, World!

[编辑 | 编辑源代码]

在本课中,您将学习如何使用 Phobos 库写入控制台。此外,您还将了解 D 程序的结构。

入门代码

[编辑 | 编辑源代码]

我们将从绝对必要的 Hello World 示例开始。

Hello World

[编辑 | 编辑源代码]
/* This program prints a
   hello world message
   to the console.  */

import std.stdio;

void main()
{
    writeln("Hello, World!");
}

在本课中,我们将看到 import 语句、主函数、Phobos 标准库的使用,以及一个代码注释

import std.stdio

[编辑 | 编辑源代码]

Phobos 库包含 std.stdio 模块,该模块又包含 writeln 函数(以及其他各种函数)。要使用该函数,您必须先导入该模块。请注意,D 中的语句以分号结尾。

void main()

[编辑 | 编辑源代码]

所有可执行的 D 程序都包含一个主函数。此函数不返回值,因此它被声明为“void”(从技术上讲,这是一个过度简化。main 的返回值将在后面更详细地解释。)此函数在程序运行时执行。

函数体代码包含在花括号中。虽然缩进和空格只针对读者,而不是针对编译器,但请确保您正确且一致地缩进和格式化代码;这通常是一种良好的编码实践。

writeln 和 write 系列

[编辑 | 编辑源代码]

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:
*/
  • writelnwrite 不同,因为它在末尾添加了一个换行符。
华夏公益教科书