Vala 语言的语法与 C# 非常相似,并且完全实现了面向对象的方法。 支持自省、类型推断、由于在编译阶段自动替换析构函数调用而导致的垃圾收集(Swift 中的 ARC)、lambda 函数、信号和槽的概念,与 Qt 中使用的类似,但在语言级别实现、字符串类型、泛型编程、数组切片、集合枚举运算符 foreach、委托、闭包、接口、属性和异常。
最值得注意的
-
Новое 关键词级联调用 。 with 支持创建局部变量:与 (var x = y())
调用有返回值的函数:
与(y())
连接信号,严格
非空 模式并递归调用新的“with”。 -
新 句法 切片 - 现在空被认为是集合的第一个或最后一个元素。array[begin:] => array[begin:array.length-1] array[:end] => array[0:end] array[:] => array[0:array.length-1]
-
简化版 在 Vala 中部分重写 C 项目(当项目将多次从 C 调用 Vala 代码时,反之亦然)。 -
实施的 不是具有函数体的虚拟信号。 -
由...提供 继承子命名空间。
来源: opennet.ru