流程语句与c差不多.
算术运算与c差不多.为了防止溢出,可使用检查整
数组分静态与动态,静态不能添加元素.
动态数组:

writeln("数组有",array.length,"个元素.");
//且可设置
int []数组;      //最初为空
数组.length = 5;//现在有5个元素

复制静态数组

    int [5] source = [10,20,30,40,50];
    int [5] destination;

    destination = source;//与动态数组完全不一样

动态数组~=可用于添加元素.
还可以用~连接两个数组.但左边的结果不能为静态数组,因为静态数组是不能变的.

import std.stdio;

void main() {
    int[10] first = 1;
    int[10] second = 2;
    int[] result;

    result = first ~ second;
    writeln(result.length);     // prints 20

    result ~= first;
    writeln(result.length);     // prints 30
}

下面可以编译:

    int[10] first = 1;
    int[10] second = 2;
    int[20] result;//20换成其他就编译不了了

std.algorithm里面有很多算法如sort,reverse
代码页:
有各种各样的如936,最出名的,土耳其857.
命名实体
\x3f,十六进制表示的字符

 wchar currencySymbol = '\€';
    char questionMarkOctal = '\77';//8位
    char questionMarkHexadecimal = '\x3f';//16进制
    wchar w = '\u011e';//u
    dchar d = '\U0000011e';//U

常见控制符\t\n\r等等,反斜线表转义,一大堆.
unicode相关函数在此

import std.stdio;
import std.uni;

void main(){
    writeln("小写吗?",isLower('g'));
    writeln("小写吗?",isLower('S'));

    writeln("大写?",isUpper('G'));
    writeln("大写?",isUpper('g'));

    writeln("是字母数字?",isAlpha('z'));
    writeln("\€是字母数字?",isAlpha('\€'));

    writeln("是新行空格?",isWhite('\n'));
    writeln("下划线空格?",isWhite('_'));

    writeln("小写:",toLower('i'));
    writeln("小写:",toLower('G'));

    writeln("大写:",toUpper('s'));
    writeln("大写:",toUpper('S'));
}

再如:

import std.stdio;
import std.uni;

void main() {
    writeln("i的大写为: ", toUpper('i'));
    writeln("I的小写为: ", toLower('I'));
}

如下:

import std.stdio;
void main() {
    char letter;
    write("请输入中文: ");
    readf(" %s", &letter);//输入一个中文字试试
    //仅读一个符
    writeln("已读字符为: ", letter);
}
//而:
import std.stdio;

void main() {
    char firstCode;
    char secondCode;

    write("请输入中文: ");
    readf(" %s", &firstCode);//再输入一个中文试试
    readf(" %s", &secondCode);

    writeln("已读字符为: ",firstCode, secondCode);
}

可知,标准输入/输出是字符流
d的unicode支持就是,utf8utf-16大小头及utf32,不支持gbk.