atitit.groovy 語法特性

来源:http://www.cnblogs.com/attilax/archive/2016/02/26/5222124.html
-Advertisement-
Play Games

atitit.groovy 語法特性 1. Groovy 1.6概覽1 1.1. 多路賦值2 2. 新發佈的Groovy2.0為這門語言帶來了關鍵的靜態特性:靜態類型檢查和靜態編譯;2 3. 參考3 增強的ast @log @field 3. 動態類型def6 4. 迴圈變數不需要def6 5. S


atitit.groovy 語法特性 

 

1Groovy 1.6概覽1

1.1. 多路賦值2

2新發佈的Groovy2.0為這門語言帶來了關鍵的靜態特性:靜態類型檢查和靜態編譯;2

3參考3

 

 

增強的ast @log  @field

3. 動態類型def6

4. 迴圈變數不需要def6

5. String Gstring6

6. 範圍6

7. 預設參數值7

8. 集合簡化操作7

9. 閉包(Closure8

10. Groovymap構造函數9

11. (5)    不需要return9

12. (6)    不需要()9

13. ?運算符 避免出現空指針異常,10

14. 動態添加方法metaClass10

15. 正則表達式常量在Java中沒有,在Groovy中表示為 /pattern/11

16. 不強制捕獲檢查異常(checked exception)外 (這跟C#很像,如果我沒記錯的話 :)         並且在方法聲明時,也可以不寫throws語句。11

17. .Groovy會自動導入java.lang.*, java.util.*, java.net.*, java.io.*, java.math.BigInteger, java.math.BigDecimal,   groovy.lang.*, groovy.util.*,而Java則只自動導入java.lang.*11

 

 

1. Groovy 1.6概覽

Groovy 1.6的主要亮點列舉如下:

· 編譯時與運行時性能的巨大提升 

· 多路賦值 

· if/else與try/catch塊中可選的返回語句 

· Java 5註解定義 

· AST轉換和眾多轉換註解,比如@Singleton@Lazy、@Immutable、@Delegate及助手 

· Grape模塊和依賴系統及其@Grab轉換 

· Swing builder的若幹改進、這要歸功於Swing / Griffon團隊,同時還有Swing console的幾處改進  

· 集成了JMX builder 

· 各種元編程的改進,像是EMC DSL,針對POJO的基於實例的元類(per-instance metaclasses),以及運行時的摻元(mixin) 

· 內置JSR-223腳本引擎 

· 開箱即用的OSGi支持 

 

 

1.1. 多路賦值

Groovy 1.6只增加了一種語法來同時定義多個變數併為其賦值:

def (a, b) = [1, 2]

 

作者:: 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 漢字名:艾龍,  EMAIL:[email protected]

轉載請註明來源: http://www.cnblogs.com/attilax/

 

2. 新發佈的Groovy2.0為這門語言帶來了關鍵的靜態特性:靜態類型檢查靜態編譯

採用了JDK 7相關的改進:Project Coin語法增強新支持的“invoke dynamic” JVM指令

同時,提高了模塊化。我們將在這篇文章中瞭解這些新特性的詳情。

 

 

3. 參考

Groovy 1_6的新特性.htm

 

Groovy 1.8 新特性  增強的 AST - 流水不爭先 博客頻道 - CSDN.NET.htm

Groovy 2_0新特性.htm

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一直沒做過SSH(Struts2+Spring+Hibernate)的實際項目,只是三個框架學的還熟練,但整合起來使用就不知道了。所以前段時間在網上找了一套SSH實際項目的視頻來學習(確切的說是買的...),一直沒時間來總結,得到的經驗主要是SSH的整合及配置,更多的則是SSH之外的一些經驗,比如代
  • 項目地址:https://github.com/brianlmoon/GearmanManager PHP環境要求 PHP 5.5.9 POSIX extension Process Control extension pecl/gearman or Net_Gearman 使用GearmanMan
  • 原理:php預設擴展庫不含有redis擴展;要支持redis擴展,需要有redis.so這個擴展文件 所以我們的目標就是生成redis.so擴展文件,並修改php.ini 讓其支持redis擴展。 準備測試環境與軟體: Vm虛擬機; CentOS5.5(已搭建好LNMP環境); Redis-2.6.
  • 模塊概念:用一砣代碼實現了某個功能的代碼集合。 類似於函數式編程和麵向過程編程,函數式編程則完成一個功能,其他代碼用來調用即可,提供了代碼的重用性和代碼間的耦合。而對於一個複雜的功能來,可能需要多個函數才能完成(函數又可以在不同的.py文件中),n個 .py 文件組成的代碼集合就稱為模塊。 模塊分為
  • 尊重原創,轉載來源:http://blog.sina.com.cn/s/blog_48f587a80100k630.html C++中的struct對C中的struct進行了擴充,它已經不再只是一個包含不同數據類型的數據結構了,它已經獲取了太多的功能。struct能包含成員函數嗎? 能!struct
  • 首先下載安裝tomcat,在官網下載即可,目前的版本有最新的到tomcat9.0,但是在實際的開發過程中一般為tomcat7.0或者tomcat8.0,在這裡大部分為tomcat7.0,所以下載這個版本就可以了。在安裝過程中基本採取預設的安裝路徑即可,也可以自己指定安裝的路徑,安裝後要進行環境的配置
  • atitit.編程語言 類與對象的 擴展機制.doc 1.1. Java 下一代: 沒有繼承性的擴展1 1.2. 繼承1 1.3. 使用cglib動態為Java類添加方法1 1.4. 工具類 1 1.5. Wrap 包裝類 裝飾器模式2 1.6. 擴展方法 (其實就是工具類的語法糖)2 1.7. S
  • Atitit .c#的未來新特性計劃草案 1. C#的未來:追蹤空引用1 1.1. 2. 變數命名空間1 1.2. 10. 項目引用Native dll2 1.3. 10. 項目引用Native dll2 2. 三、設計面向 面向變數的彙編語言,高級語言出現後,從Pascal/C語言面向過程和變數,
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...