D语言功能有哪些
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章主要讲解了"D语言功能有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"D语言功能有哪些"吧!如果你尚未安装 D 语言,请安装 D 语言编译
千家信息网最后更新 2024年11月30日D语言功能有哪些
这篇文章主要讲解了"D语言功能有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"D语言功能有哪些"吧!
如果你尚未安装 D 语言,请安装 D 语言编译器,以便你可以自己运行 D 代码。
看一下以下示例代码:
// file: ufcs_demo.d module ufcs_demo; import std.stdio : writeln; int[] evenNumbers(int[] numbers){ import std.array : array; import std.algorithm : filter; return numbers.filter!(n => n % 2 == 0).array;} void main(){ writeln(evenNumbers([1, 2, 3, 4]));}
使用你喜欢的 D 语言编译器进行编译,查看这个简单示例应用做了什么:
$ dmd ufcs_demo.d$ ./ufcs_demo[2, 4]
但是,使用作为 D 语言的内置功能的 UFCS ,你还可以自然方式编写代码:
...writeln([1, 2, 3, 4].evenNumbers());...
或完全删除现在多余的括号,使 evenNumbers
看起来像是一个属性:
...writeln([1, 2, 3, 4].evenNumbers); // prints 2, 4...
因此,完整的代码现在变为:
// file: ufcs_demo.d module ufcs_demo; import std.stdio : writeln; int[] evenNumbers(int[] numbers){ import std.array : array; import std.algorithm : filter; return numbers.filter!(n => n % 2 == 0).array;} void main(){ writeln([1, 2, 3, 4].evenNumbers);}
使用你最喜欢的 D 语言编译器进行编译,然后尝试一下。 如预期的那样,它产生相同的输出:
$ dmd ufcs_demo.d$ ./ufcs_demo[2, 4]
在编译过程中,编译器自动地将数组作为函数的第一个参数。这是一个常规模式,使得使用 D 语言成为一种乐趣,因此,它与你自然而然考虑代码的感觉非常相似。结果就是函数式编程。
你可能会猜出这打印的是什么:
//file: cool.dimport std.stdio : writeln;import std.uni : asLowerCase, asCapitalized; void main(){ string mySentence = "D IS COOL"; writeln(mySentence.asLowerCase.asCapitalized);}
确认一下:
$ dmd cool.d$ ./coolD is cool
结合其他 D 语言的功能,UFCS 使你能够编写可重用的代码,并在不牺牲便利性的情况下自然地进行编写。
感谢各位的阅读,以上就是"D语言功能有哪些"的内容了,经过本文的学习后,相信大家对D语言功能有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
语言
编译
功能
代码
编译器
自然
学习
内容
函数
就是
情况
示例
相似
相同
自然而然
乐趣
便利性
参数
尚未
属性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
莹石云服务器
mc永远不关的服务器
联想t2安装plex服务器
无线城域网络技术特点
大学论文联合对比数据库官网
软件开发不赚钱
远程连接数据库软件
年国家网络安全
花雨亭服务器价格
erp主流软件开发商供应商
吉林通讯软件开发服务参考价格
现实中数据库的安全性
做软件要不要买服务器
数据库服务器不能自动更新
海珠区保安公司打卡服务器地址
软件开发必学的编程语言
打电话的时候总是提示服务器
国内服务器备案网站
java连接数据库报异常
百利平台网络技术有限公司
融天下互联网科技有限公司
凝望树网络技术有限公司
公网服务器安全方案
上海捷奥软件开发
青岛软件开发驻场机构
华为服务器x86 郑州
远程连接数据库软件
零基础做游戏的软件开发
衡阳专业的网络安全机构工资高
简述数据数据库