Groovy開始

之前看了《Java程序員修煉之道》递礼,第三部分JVM上的多語言編程里面講到JVM上面的一些腳本語言存谎,有Groovy啡专,Scala硫戈,Clojure,沒有等埃元。于是這兩天學了一下Groovy氢哮,發(fā)現(xiàn)還真是方便葛圃,最明顯的(當然我是處在比較初級階段的認識)他的閉包Closure默垄。

平時在用Java編程的時候此虑,寫著寫著總是有點煩,一個很簡單的方法都要寫一堆代碼口锭,其實具體邏輯就一行朦前,想著用閉包多好,那么Groovy完全就可以用得上鹃操。

1. Groovy的安裝

推薦使用GVM(the Groovy enVironment Manager)進行安裝和版本管理韭寸,進行版本的隨意切換,GVM的概念可以說是來自RVM荆隘,它不僅可以管理Groovy恩伺,還可以管理crash, gaiden, glide, gradle, grails, griffon

2. Groovy的編程

2.1 Hello World

Groovy可以不像Java那樣每個class文件必須有一個類,它就像很多腳本一樣臭胜,一行代碼:

print "Hello World"

保存為hw.groovy莫其,

groovy hw.groovy

解決癞尚!而在Java里耸三,則要這么麻煩

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

保存hw.java乱陡,

javac hw.java
java hw.class

這一點Groovy還是挺方便的了。

另外仪壮,Groovy還提供了GroovyConsole憨颠,一個簡單的IDE,也是挺方便的积锅。

2.2 閉包

對于閉包爽彤,官方的解釋是:

What is a Closure?
A Groovy Closure is like a "code block" or a method pointer. It is a
piece of code that is defined and then executed at a later point. It has some special properties like implicit variables, support for currying and support for free variables (which we'll see later on). We'll ignore the nitty gritty details for now (see the formal definition if you want those) and look at some simple examples.

一個最簡單的例子:

def clos = { println "hello!"}
println "Executing the Closure:"
clos()

更多的說明在官網(wǎng)文檔Closures還有。

Groovy里很多的類都有專門傳閉包方法缚陷,比如List:

def list = ['c', 'n', 'h', 'a', 'l', 'o']
def newList = []
        
def clos = {
    it.toUpperCase()
}
list.collect(newList, clos)
println newList

// 輸出:[C, N, H, A, L, O]
        

2.3 一個具體的閉包例子

代碼竟然搞丟了适篙。。稍后補上箫爷。

3. 結語

Groovy有很多很亮的特性嚷节,使得它可以成為和Java共用的語言,這也是我為什么要選擇Groovy作為JVM腳本語言入門的最大的理由(最為對比虎锚,另一個是Scala)硫痰,他的語法和Java很像,本來用Java實現(xiàn)的邏輯可以用Groovy更簡短的語句實現(xiàn)窜护。Groovy和Java之間的相互調用也是很方便的效斑。

希望在自己接觸的項目中可以很快用上Groovy。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末柱徙,一起剝皮案震驚了整個濱河市缓屠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌护侮,老刑警劉巖藏研,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異概行,居然都是意外死亡蠢挡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門凳忙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來业踏,“玉大人,你說我怎么就攤上這事涧卵∏诩遥” “怎么了?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵柳恐,是天一觀的道長伐脖。 經(jīng)常有香客問我热幔,道長,這世上最難降的妖魔是什么讼庇? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任绎巨,我火速辦了婚禮,結果婚禮上蠕啄,老公的妹妹穿的比我還像新娘场勤。我一直安慰自己,他們只是感情好歼跟,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布和媳。 她就那樣靜靜地躺著,像睡著了一般哈街。 火紅的嫁衣襯著肌膚如雪留瞳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天骚秦,我揣著相機與錄音她倘,去河邊找鬼。 笑死骤竹,一個胖子當著我的面吹牛帝牡,可吹牛的內容都是我干的。 我是一名探鬼主播蒙揣,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼靶溜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了懒震?” 一聲冷哼從身側響起罩息,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎个扰,沒想到半個月后瓷炮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡递宅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年娘香,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片办龄。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡烘绽,死狀恐怖,靈堂內的尸體忽然破棺而出俐填,到底是詐尸還是另有隱情安接,我是刑警寧澤,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布英融,位于F島的核電站盏檐,受9級特大地震影響歇式,放射性物質發(fā)生泄漏。R本人自食惡果不足惜胡野,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一材失、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧给涕,春花似錦豺憔、人聲如沸额获。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抄邀。三九已至耘眨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間境肾,已是汗流浹背剔难。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奥喻,地道東北人偶宫。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像环鲤,于是被迫代替她去往敵國和親纯趋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內容

  • 前言 由于項目需要用到 Groovy 語言冷离,這兩天對其進行了粗略的學習吵冒,本文是對學習做的一個簡單總結,主要內容參考...
    簡單的土豆閱讀 188,617評論 12 201
  • Groovy是一門基于JVM的動態(tài)語言西剥,很多語法和Java類似痹栖。大部分Java代碼也同時是合法的Groovy代碼。...
    樂百川閱讀 3,590評論 0 15
  • Groovy :是一種動態(tài)語言瞭空。 1:這種語言比較有特點揪阿,它和 Java 一樣,也運行于 Java 虛擬機中咆畏。簡單...
    PeytonWu閱讀 1,556評論 0 1
  • 什么是 Groovy南捂? 簡言之,Groovy是一種基于JVM(Java虛擬機)的敏捷動態(tài)開發(fā)語言鳖眼。它是一種成熟的面...
    北緯26閱讀 4,131評論 0 14
  • 下筆卻大腦空白黑毅,不知寫些什么,從何說起钦讳。滿腦子的事情矿瘦,理不清枕面,斷不了,就如心里長滿了荒草缚去,我拿著鐮刀這砍砍潮秘,那砍砍...
    1cc3a6bd86d4閱讀 161評論 0 0