流程语句与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
支持就是,utf8
或utf-16
大小头及utf32
,不支持gbk
.