Vala 語言的語法與 C# 非常相似,並且完全實現了物件導向的方法。支援自省、類型推斷、由於在編譯階段自動替換析構函數呼叫而導致的垃圾收集(Swift 中的ARC)、lambda 函數、訊號和槽的概念,與Qt 中使用的類似,但在語言層級實現、字串類型、泛型程式設計、陣列切片、集合枚舉運算子 foreach、委託、閉包、介面、屬性和異常。
最值得注意的
-
新品 關鍵詞級聯調用 。 with 支援建立局部變數:與 (var x = y())
呼叫有返回值的函數:
與(y())
連接訊號,嚴格
非空 模式並遞歸呼叫新的“with”。 -
新 句法 切片 - 現在空被認為是集合的第一個或最後一個元素。陣列[開始:] => 陣列[開始:array.length-1] 陣列[:結束] => 陣列[0:結束] 數組[:] => 數組[0:array.length-1]
-
簡化版 在 Vala 中部分重寫 C 專案(當專案將多次從 C 呼叫 Vala 程式碼時,反之亦然)。 -
實施的 不是具有函數體的虛擬訊號。 -
假如 繼承子命名空間。
來源: opennet.ru