【IT168 资讯】最近学习了一些现代编程语言,比如Reason,Swift,Kotlin和Dart。这些编程语言提供了许多新功能,本文主要分享了我认为最有趣的十大功能,这也可以作为划分现代编程语言的参考。
未来几年,我希望这些功能将会被更广泛地采用。对于一些较老的编程语言,比如Javascript、PHP、Java和Python。由于许多程序员必须每天在工作中使用这些编程语言,如果这些语言可以不断向前发展,应该是最值得高兴的一件事情。
#1 Pipeline operator
虽然找不到任何官方文档,但它看起来像ECMAScript一样。
#2 模式匹配
这项功能主要来自于Kotlin,熟悉Kotlin或具备Java编程基础的程序员可以尝试一下。(示例参考地址:https://kotlinlang.org/docs/reference/basic-syntax.html#using-when-expression)
#3 Reactive(Rx)编程构建
这项功能来自于Dart编程语言,Dart异步编程的特点是Future和Stream类。
Future表示一个不能立即完成的计算。在普通函数返回结果的地方,一个异步函数返回一个Future,它将包含最终结果。
Stream是一系列异步事件,就像一个异步可迭代的地方。(代码参考:https://www.dartlang.org/tutorials/language/streams)
#4 lambda函数的单个参数隐式名称(使用“it”)
这项功能同样来自于Kotlin(代码参考:https://kotlinlang.org/docs/reference/lambdas.html#it-implicit-name-of-a-single-parameter),这将涉及高阶函数和Lamdba两部分介绍,高阶函数以函数作为参数或返回函数。一个很好的例子是lock(),它接受一个锁对象和函数,程序员可通过运行函数并释放锁。
#5 重构
“重构”是一种从数据结构中提取字段的直观方式,可以在任何使用变量的地方使用。(代码参考:https://reasonml.github.io/guide/language/destructuring/)
#6 级联运算符
本功能主要来自Dart编程语言,(代码参考:https://www.dartlang.org/guides/language/language-tour#cascade-notation-)主要展示了如何使用每个主要的Dart特性,从变量和运算符到类和库以及如何使用该编程语言进行编程。
#7 if表达式
在Kotlin中,if是一个表达式,即它返回一个值。因此没有三元运算符(condition?then:else),因为普通的if就可以工作得很好。
#8 Try表达式
本功能来自于Kotlin(代码参考:https://kotlinlang.org/docs/reference/idioms.html#trycatch-expression),Kotlin中随机使用的idiom集合。如果你有一个最喜欢的idiom,可以通过发送pull请求来提供。
#9 自动currying
(代码参考:https://reasonml.github.io/guide/language/function/#currying)
#10 方法扩展
#p#分页标题#e#
本功能来自于Swift,可扩展为现有的类,结构,枚举或协议类型添加新的功能。这包括扩展无法访问原始源代码的类型(称为追溯建模)。扩展与Objective-C中的类别相似(相似但并不等于Objective-C中的类别,Swift扩展没有名称)。(代码参考:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html#//apple_ref/doc/uid/TP40014097-CH24-ID151)