D 语言不像 Python、Java 那么普及,新手入门时最大的绊脚石往往不是语法,而是 “折腾环境”。如果咱们只是想试试 foreach 怎么写、体验一下数组切片,或者临时跑几行逻辑,专门去装个编译器确实有点费劲。
这时候,直接用咱们绿叶网的 D 在线编译器就香多了。主打一个 “即写即跑”,特别适合刚接触 D 语言的小伙伴边学边试。
页面上方就是咱们的 D 在线编译器。基本操作很直观:左边写代码,右边看结果,改完以后可以继续运行。
Ctrl + Enter 快捷键。我们来跑一个例子试试:准备一组商品价格,利用 D 语言方便的数组切片,截取中间几件商品作为 “活动区间”,统一减价 20 元:
import std.stdio;
void main() {
int[] prices = [99, 149, 199, 249, 299];
auto promotion = prices[1 .. $ - 1];
promotion[] -= 20;
writeln("活动商品价格:", promotion);
writeln("全部商品价格:", prices);
}运行结果如下。
活动商品价格:[129, 179, 229]
全部商品价格:[99, 129, 179, 229, 299]像这种验证语法的小片段,用在线编译器来跑最合适不过了。写完直接看结果,完全不需要在本地去建什么笨重的大工程。
D 在线编译器主打的是 “小代码、快验证”。因此,它主要适合以下几个场景:

D 是一门通用、静态类型的编译型语言。它的语法属于大家熟悉的 C 风格,但内功又吸收了很多现代编程的思想。
简单来说,它的初衷是:既让你拥有接近底层硬件的高性能,又不想让你写得像传统 C/C++ 那么累。它除了保留指针这种系统级能力,还自带了垃圾回收、数组切片、编译期计算等好用的高级特性。
虽然 D 目前不算特别大众,但对于想接触底层系统编程,又贪恋现代语言便利性的小伙伴来说,它是一个非常有意思的选择。

D 的定位很明确:适合那些 “既需要程序跑得快,又不想开发太受罪” 的场景。比较有代表性的方向有:

所以,小伙伴们不要以为 D 只能用来写操作系统。它本质上是一门通用语言,完全可以胜任日常的业务开发。
很多小伙伴第一眼看到 D,发现大括号、分号都在,还能操作底层内存,很容易误以为它是 “另一种 C++”。
其实它俩是两门完全独立的语言。
D 并不是 C++ 的超集升级版,我们不能直接把 C++ 的代码塞给 D 去编译。D 有自己独立的一套设计(比如自带的垃圾回收、Range 等),只是它很贴心地提供了能和 C、C++ 互相调用的接口而已。

“系统编程” 往往要求极致的性能,而 “垃圾回收(GC)” 通常会消耗一定资源,这两者放在一起乍一看确实有点矛盾。
其实,D 语言在这件事上主打一个 “丰俭由人”: 默认情况下,你可以省点心,让 GC 帮你管理动态内存;但如果你需要压榨极限性能,或者精细控制底层资源,D 完全允许你脱离 GC,挽起袖子用指针手动去管理内存。
也就是说,垃圾回收只是给普通代码减负的工具。遇到硬核需求时,你随时可以切换回原汁原味的底层模式。怎么选,全看你的项目需求。

代码写得多了以后,鼠标点来点去多少有点慢。D 在线编译器还支持下面这些常用快捷键,小伙伴们先把几个高频的记住就够用了。
Ctrl + Enter:运行代码。Ctrl + Z:撤销、Ctrl + Y:重做。Ctrl + C:复制、Ctrl + V:粘贴。Ctrl + A:全选。Ctrl + X:剪切。Ctrl + /:注释或取消注释。Ctrl + Home:跳转到首行的行首。Ctrl + End:跳转到末行的结尾。其中最值得记住的还是 Ctrl + Enter。写完代码顺手一按就能运行,用来反复测试 D 语法、数组切片和小段逻辑非常方便。