咱們將介紹 groovy 語言的基礎知識, 使用 groovy 須要知道的兩件事:代碼外觀和斷言。 我是看着Groovy in Action的時候,寫這個博客的。因此不少東西是從裏面複製出來的,但願你們去看原書。 java
1.註釋 shell
和java同樣,Groovy使用//作單行註釋,/* */作區間註釋。 編碼
// 單行註釋 spa
/*
多行註釋
*/ .net
可是Groovy有個特別的註釋: #!/usr/bin/groovy ,該註釋只能放在第一行,經過這種方式 Unix shell 能定位 groovy 的啓動腳本而且運行這些腳本。 code
javaDoc註釋和GroovyDoc註釋也是等價的,這裏就不作介紹了。 對象
2.Groovy和java語法的比較。 ci
之前的Groovy不支持 for(init;test;inc) 這種java經典循環,可是若是你下載最新的Groovy2.x它已經支持了,因此Groovy和java的兼容性已經很好了。固然,Groovy做爲一個腳本語言,仍是有特殊的區別,好比 ==運算符。 若是不是強制比較對象地址,java應該使用equals方法。可是Groovy的==運算符,會自動調用equals方法,也避免了小白總是亂用==符號。(咱們公司的實習生總是用==,形成各類問題,我已經糾正了不少次了)。也就是說 Groovy的==符號,至關於equals. get
3.Groovy簡潔的代碼。 博客
Groovy 容許忽略一些在 java 中必須的語法元素,忽略這些元素的結果是代碼更簡短、更少冗餘和更清晰的表述。 例如, 將一個 String 對象編碼爲一個 URL 對象, 比較它們的 java 和 groovy 的代碼:
Java:
java.net.URLEncoder.encode("a b");
Groovy:
URLEncoder.encode 'a b'
groovy 的代碼不但更簡短, 並且以儘量簡單的方法表述了咱們的目標。 忽略了包的前綴,圓括號和分號,代碼量減小到最小。
Groovy 自動導入如下包和類:
groovy.lang.*
groovy.util.*
java.lang.*
java.util.*
java.net.*
java.io.*
java.math.BigInteger
java.math.BigDecimal
因此在使用它們時,你能夠不用去import這些java class了。
Groovy的Class聲明。
class MyClass{ String title printTitile() { print title; } }
Groovy的修飾符默認都是public,你能夠省略去寫getter,setter的麻煩,直接引用,方法的聲明也很簡單,是否是比java的類省事多了。