Groovy是什麼?java
Groovy是用於java虛擬機的一種敏捷的動態語言,它是一種成熟的面相對象編程語言,既能夠用於面向對象編程,又能夠用做純粹的腳本語言。使用該種語言沒必要編寫過多的代碼,同時又具備閉包和動態語言中的其餘特性。編程
與Java比較閉包
1.Groovy徹底兼容Java的語法maven
2.代碼行尾的分號是可選的編程語言
3.類、方法默認都是public的gradle
4.編譯器給屬性自動添加getter/setter方法ui
5.屬性能夠直接用點號來獲取spa
6.最後一個表達式的值會被做爲返回值code
7.==等同於equals(),不會有NullPointerExceptions對象
高效的Groovy特性
1.自帶assert語句
2.可選類型定義
3.可選的括號
4.字符串('',"",''')
5.集合API
6.閉包
//groovy高效特性 //1.可選類型 def version = 1 //2.assert //assert version == 2 //3.括號是能夠選的 //println version //println(version) //4.字符串 def s1 = 'young' def s2 = "gradle version is ${version}" def s3 = '''my name is young''' //5.集合API //list def buildTools = ['ant','maven'] buildTools << 'gradle' //assert buildTools.getClass() == ArrayList //assert buildTools.size() == 3 //map def buildYears = ['ant':2000,"maven":2004] buildYears.gradle = 2009 //println buildYears.ant //println buildYears['gradle'] //println buildYears.getClass() //6.閉包 def c1 = { v -> println v } def c2 = { println 'hello' } def method1(Closure closure){ closure('param') } def method2(Closure closure){ closure() } method1(c1) method2(c2)