Gradle學習筆記--Groovy(二)

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)
相關文章
相關標籤/搜索