Html/CSS
d-programming 标签描述

循环语句多次执行一个语句或一组语句,以下是循环语句的一般形式,主要用于编程语言中 D编程语言提供了以下类型的循环来处理循环需求。 Sr.No. LoopType&描述 1 whileloop当给定条件为真时,它将重复一个语句或一组语句。 2 forloop它多次执行一系列语句,并简化了管理循环变量的代码。 3 do...whileloop类似于while语句,除了它在循环主体的末尾测试条件。 4 nestedloops您可以在while,for或do..while循环中使用一个或多个循环。 循环语句 循环控制语句从其正常顺序更改执行,当执行离开作用域...

  raKFu9QULpEG   2023年11月19日   21   0   0 d-programmingd-programming

条件判断结构包含要判断的条件以及要执行的两组语句。如果条件为true,则执行一组语句,如果条件为false,则执行另一组语句。 D编程语言将任何非零和非空值假定为true,并且如果其值为零或null,则假定为false值。 Sr.No. Statement&描述 1 ifstatementif语句由布尔表达式和一个或多个语句组成。 2 if...elsestatement在if语句之后可以跟可选的else语句,该语句在布尔表达式为false时执行。 3 nestedifstatements您可以在另一个if或elseif语句中使用一个if或elseif语句。 ...

  raKFu9QULpEG   2023年11月19日   15   0   0 d-programmingd-programming

Exception异常是在程序执行期间出现的问题,异常提供了一种将控制权从程序的一部分转移到另一部分的方法。D异常处理基于三个关键字try,catch和throw。 throw   - 出现问题时,程序将引发异常。这是通过throw关键字完成的。 catch   -  catch关键字用于捕获异常。 try      - try块标识了为其激活了特定异常的代码块。 假设一个块会引发异常,则方法使用try和catch关键字的组合...

  raKFu9QULpEG   2023年11月19日   22   0   0 d-programmingd-programming

D语言非常简单易学,让我们开始创建第一个D程序! D示例 让我们编写一个简单的D程序,所有D文件都将具有扩展名.d。因此,将以下源代码放入test.d文件中。 importstd.stdio; /我在D中的第一个程序/ voidmain(string[]args){ writeln("test!"); } 假设D环境设置正确,让我们使用-运行程序 $dmdtest.d $./test 我们可以看到以下输出。 test 现在让我们看一下D程序的基本结构,以便您轻松理解D编程语言的基本构建块。 导入库 这里,我们导入提供基本I/O操作的标准io库,上面程序中使用的writeln是D的标准库...

  raKFu9QULpEG   2023年11月19日   22   0   0 d-programmingd-programming

类(Class)类可以看成是创建Java对象的模板,中的数据和函数称为该类的成员。 类定义 类定义以关键字class开头,后跟类名,类定义之后必须是分号或声明列表,如,我们使用关键字class定义Box数据类型,如下所示 classBox{ public: doublelength;//box的长度 doublebreadth;//box的宽度 doubleheight;//box的高度 } 关键字public确定其后的类的成员的访问属性,可以从类外部在类对象范围内的任何位置访问公共成员。您还可以将类的成员指定为私有的private或受保护protected的修饰符,我们将在小节中讨论。...

  raKFu9QULpEG   2023年11月19日   29   0   0 d-programmingd-programming

D编程指针既简单又有趣,使用指针可以更轻松地执行某些任务,而没有它们则无法执行其他任务(如动态内存分配),一个简单的指针如下所示。 importstd.stdio; voidmain(){ intvar1; writeln("Addressofvar1variable:",&var1); charvar2[10]; writeln("Addressofvar2variable:",&var2); } 编译并执行上述代码后,将产生以下输出 Addressofvar1variable:7FFF52691928 Addressofvar2variable:7FFF5269...

  raKFu9QULpEG   2023年11月19日   20   0   0 d-programmingd-programming

并发使程序在多个线程上运行,一个示例是Web服务器同时响应多个客户端,并发通过消息传递很容易,但是它们基于数据共享则很难编写。 启动线程 函数spawn()将指针作为参数,并从该函数启动新线程,该函数执行的任何操作,包括它可能调用的其他函数,都将在新线程上执行。 importstd.stdio; importstd.stdio; importstd.concurrency; importcore.thread; voidworker(inta){ foreach(i;0..4){ Thread.sleep(1); writeln("WorkerThread",a+i); } } vo...

  raKFu9QULpEG   2023年11月19日   28   0   0 d-programmingd-programming

变量不过是我们程序可以操作的存储区域的名称,D中的每个变量都有一个特定的类型,该类型确定变量的内存大小,可以存储在该内存中的值的范围; 变量的名称可以由字母,数字和下划线字符组成,它必须以字母或下划线开头,大写字母和小写字母是不同的,因为D区分大小写,有以下基本变量类型 Sr.No. Type&描述 1 char通常是一个八比特(一个字节),这是一个整数类型。 2 int整数值。 3 float单精度浮点值。 4 double双精度浮点值。 5 void表示没有类型。 变量定义 变量定义告诉编译器在何处以及为变量创建多少空间,变量定义指定一种数据类...

  raKFu9QULpEG   2023年11月19日   33   0   0 d-programmingd-programming

当前大多数D实现都直接编译为机器代码,以实现高效执行。 我们有多个可用的D编译器,其中包括以下内容。 DMD   - DigitalMarsD编译器是WalterBright的官方D编译器。 GDC    - GCC后端的前端,使用开放的DMD编译器源代码构建。 LDC    - 基于DMD前端的编译器,使用LLVM作为其编译器后端。 可以从D下载 中心下载上述不同的编译器。 我们将使用D版本2,建议不要下载D1。 让我们有一个hell...

  raKFu9QULpEG   2023年11月19日   21   0   0 d-programmingd-programming

D编程语言提供了一种名为arrays的数据结构,该数据结构存储相同类型元素的固定大小的顺序集合,数组用于存储数据集合。 声明数组 要使用D编程语言声明数组,程序员可以指定元素的类型和数组所需的元素数量,如下所示: typearrayName[arraySize]; 这称为一维数组,arraySize必须是一个大于零的整数常量,并且type可以是任何有效的D编程语言数据类型。如要声明一个名为double的名为balance的10元素数组,请使用以下语句 doublebalance[10]; 初始化数组 您可以如下一步一步地或使用一条语句来初始化D编程语言数组元素。 doublebalanc...

  raKFu9QULpEG   2023年11月19日   22   0   0 d-programmingd-programming

我们经常使用可变的变量,但是在很多情况下不需要可变性。 D的不变性概念由const和immutable关键字表示,尽管这两个词本身的含义很接近,但它们在程序中的职责有所不同,有时是不兼容的。 枚举常量 枚举常量使将常量值与有意义的名称相关联成为可能,一个简单的如下所示。 importstd.stdio; enumDay{ Sunday=1, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } voidmain(){ Dayday; day=Day.Sunday; if(dayDay.Sunday){ writeln("T...

  raKFu9QULpEG   2023年11月19日   28   0   0 d-programmingd-programming

文件File由std.stdio模块的File结构表示,文件表示字节序列,无论是文本文件还是二进制文件都没有关系,D编程语言提供对高级函数的访问/处理存储设备上文件。 打开文件 首先通过指定文件名和所需的访问权限来打开文件。 Filefile=File(filepath,"mode"); 在这里,filename是字符串文字,您可以使用它来命名文件并访问mode可以具有以下值之一 Sr.No. Mode&描述 1 r读取内容。 2 w写入内容,如果不存在则创建一个新文件。 3 a追加写入,如果不存在则创建一个新文件。 4 r+打开一个文本文件以进行读写。 ...

  raKFu9QULpEG   2023年11月19日   34   0   0 d-programmingd-programming

字面量(Literals)可以是任何基本数据类型,并且可以分为整数,浮点数字,字符,字符串和布尔值。 再次,字面量与常规变量一样,只是它们的值在定义后不能修改。 整数字面量 整数字面量可以是以下类型的 十进制使用正常数字表示形式,其中第一个数字不能为0,因为该数字保留用于表示八进制系统。 八进制使用0作为数字的前缀。 二进制使用0b或0B作为前缀。 十六进制使用0x或0X作为前缀。 如果不使用后缀,则编译器本身会根据值的大小在int,uint,long和ulong之间进行选择。 这是整数字面量的一些示例 212//有效 215u//有效0xFeeL//有效078//无效:8不是八进制...

  raKFu9QULpEG   2023年11月19日   22   0   0 d-programmingd-programming

D语言是一种编程语言,具备多范型,例如面向对象、指令式。由沃尔特·布莱特和安德烈·亚历山德雷斯库所开发,起源自C,深受C的影响,然而其不是C的变种,而是重新设计来自C的部分特性,并受到其它编程语言观念的影响,如Java、C以及Eiffel。2007年1月2日发布1.0稳定版本。版本2.0发布于2007年1月17日。 WalterBright本身是SymantecC编译器的作者,另一名作者AndreiAlexandrescu是Facebook的研究科学家,他与一个团队用D语言重写一些Facebook的重要操作。 在继续本教程之前,建议您先了解计算机编程的基本概念。您只需要对使用简单的文本编辑...

  raKFu9QULpEG   2023年11月19日   23   0   0 d-programmingd-programming

面向对象编程中最重要的概念之一是继承,继承允许使用一个类继承另一个类,这样就可以直接调用父类的公共函数或变量,这使得维护变得更加容易。 基类和子类 子类通过":"冒号来实现继承基类。 classderived-class:base-class 考虑如下基类Shape及其派生类Rectangle importstd.stdio; //基类 classShape{ public: voidsetWidth(intw){ width=w; } voidsetHeight(inth){ height=h; } protected: intwidth; intheight; } //派生类...

  raKFu9QULpEG   2023年11月19日   21   0   0 d-programmingd-programming

模板是通用编程的基础,它涉及以独立于任何特定类型的方式编写代码。 函数模板 将函数定义为模板会将其使用的一种或多种类型保留为未指定状态,以便稍后由编译器推导。在模板参数列表中定义了未指定的类型,该参数介于函数名称和函数参数列表之间。因此,函数模板具有两个参数列表 模板参数列表 函数参数列表 importstd.stdio; voidprint(T)(Tvalue){ writefln("%s",value); } voidmain(){ print(42); print(1.2); print("test"); } 如果我们编译并运行以上代码,这将产生以下输出 多个参数 ...

  raKFu9QULpEG   2023年11月19日   23   0   0 d-programmingd-programming

枚举用于定义命名常量值,使用enum关键字声明枚举类型。 Enum语法 枚举定义的最简单形式如下: enumenum_name{ enumerationlist } enum_name     - 指定枚举类型名称。 enumerationlist - 是用逗号分隔的标识符列表。 枚举列表中的每个符号代表一个整数值,该整数值比其前面的符号大一个,默认情况下,第一个枚举符号的值为0。如 enumDays{sun,mon,tue,wed,thu,fri,sat}; Enum示例 以下示例演示枚举变量的使用 i...

  raKFu9QULpEG   2023年11月19日   19   0   0 d-programmingd-programming

union是特殊数据类型,可以将不同的数据类型存储在同一存储位置。 定义Union 要定义Union,您必须以与定义结构相似的方式使用并集union语句。 union[uniontag]{ memberdefinition; memberdefinition; ... memberdefinition; }[oneormoreunionvariables]; union标签tag是可选的,每个成员定义都是一个普通变量定义,如inti;或浮动f;在并集union定义的末尾,在最后一个分号之前,您可以指定一个或多个并集变量,但这是可选的。这是定义名为Data的联合类型的方法,该类型具有三个成...

  raKFu9QULpEG   2023年11月19日   37   0   0 d-programmingd-programming

范围range是元素访问的抽象,范围强调如何访问容器元素,而不是如何实现容器。 Numberranges 数字范围是非常常用,这些数字范围是int类型的,下面是一些数字范围的示例 //示例1 foreach(value;3..7) //示例2 int[]slice=array[5..10]; PhobosRanges 与结构和类接口有关的范围是phobosranges,Phobos是D语言编译器随附的官方运行时和标准库。 有多种类型的范围,包括 InputRange ForwardRange BidirectionalRange RandomAccessRange OutputRan...

  raKFu9QULpEG   2023年11月19日   19   0   0 d-programmingd-programming

字符数组 我们可以用以下两种形式来表示字符数组.第一种形式直接提供大小,第二种形式使用dup方法创建字符串"Goodmorning"。 char[9]greeting1="Hellolearnfk"; char[]greeting2="Goodmorning".dup; 这是使用上述简单字符数组形式的简单示例。 importstd.stdio; voidmain(string[]args){ char[9]greeting1="Hellolearnfk"; writefln("%s",greeting1); char[]greeting2="Goodmorning".dup; wri...

  raKFu9QULpEG   2023年11月19日   30   0   0 d-programmingd-programming