groovy筆記
標簽: groovy
安裝
- Step1:配置JDK
Groovy是依賴于Java的,所以首先要配置好JDK。 - Step2:下載Groovy
下載后直接解壓安裝。 - Step3:配置Groovy環境變量
GROOVY_HOME = C:\workenv\Java\groovy\groovy-2.5.8
PATH = %GROOVY_HOME%\bin
- Step4:測試
groovy -v
基本語法
- 變量定義
- 弱類型定義:def動態定義變量, 轉換到object
- 強類型定義:基礎類型和對象類型定義變量,轉換到Java對應包裝類
- 字符串
- 單引號(單行):def name = ‘Hello’, 轉換為Java String
- 雙引號(可擴展任意表達式):def name=‘World’; def helloworld= “Hello ${name}”,轉換為Groovy GStringImpl
- 三引號(可多行):def name = ‘’’ Hello
World’’’,轉換為Java String - String與GStringImpl可以相互轉換
- String方法
邏輯控制
- swith…case
- for
for(i in 0..9){...} //range for(i in [0,1,2]){...} //list for(i in ['a':1, 'b':2]){key=i.key; value=i.value} //map
閉包
基礎講解
- 閉包概念
閉包就是一段代碼塊 - 閉包定義與調用
//無參閉包 def clouser = {println "Hello World"} //定義 clouser.call() //調用方式一(推薦,避免與函數調用的混淆) clouser() //調用方式二 //無參閉包(隱式參數it) def clouser = {println "Hello ${it}"} clouser('Hello') //帶參閉包(無隱式參數it) def clouser = {String name, int age -> println "Hello ${name}, ${age}"} clouser('Hello', 18) //閉包返回值(一定有返回值,無return語句則返回null) def clouser = {String name -> return "Hello ${name}"} def result = clouser('Hello')
閉包的使用
閉包的使用就是將閉包作為函數參數傳遞給函數,然后被調用。
閉包的進階
下面的this,owner,delegate輸出都相同
- this 代表閉包定義處的類
- owner 代表閉包定義處的類或者對象
- delegate 代表任意對象,多數時候=owner
閉包的委托策略
多用于框架編程,日常代碼很少用
數據結構
- 列表
Java:ArrayList,可以as成其他的類型,或者采用強類型定義
- 映射
Java: LinkedHashMap,可以as成其他的類型,或者采用強類型定義
- 范圍
Java: List的子類
面向對象
類與接口
- 類
構造方法默認提供
- 接口
- trait
元編程
什么是元編程,運行時期執行的代碼
-
invokeMethod & methodMissing
-
metaClass
可以通過metaClass對第三方類進行擴展,包括final的類,特別在框架開發場景中特別有用,類似Java的反射。
注意
普通的metaClass的注入屬性和方法不是永久有效,只能是本Class調用有效,其他模塊不能使用,如何能永久有效呢?使用如下開關即可:
ExpandoMetaClass.enableGlobally()
文件操作
JSON
XML
- 解析
- 構建
JSON & XML互相轉換
普通文件操作
groovy與java的區別
智能推薦
Groovy培訓
概念Groovy是一種動態語言,它和Java類似(算是Java的升級版,但是又具備腳本語言的特點),都在Java虛擬機中運行。 //區別 1.在Groovy可以用def定義無類型的變量,和返回值為無類型的方法,而在Java中沒有def 2. Java中的equals方法對應Groovy中的== , 而Java中的==(判斷是否引用同一對象)對應Groovy中的is方法 3. Java中的數組定義i...
Groovy入門
初識Groovy 1.基本語法 groovy作為動態的腳本語言,底層實現為java,groovy文件在運行時,先被解釋成.class文件,本身為腳本語言,所以他的優勢在于動態加載; (1)定義變量及方法 在這里groovy不重視類型,但是也可以像java一樣,重視類型,基本操作與java相同;值得注意的是,在groovy中單引號和雙引號是有不同功能的,只是定義一個字符串,可以直接用單引號,在雙引號...
groovy 學習
一、groovy 的環境安裝 centos下的安裝 windows下的安裝 官網下載安裝包后解壓,配置環境 •新建GROOVY_HOME,值為解壓后文件的路徑。 修改PATH,在最后追加%GROOVY_HOME%\bin 二 groovy的基礎語法 groovy的變量 創建.Groovy Script文件 三、groovy中的字符串用法 四、groovy中的邏輯控制 五、閉包...
groovy安裝
Step1:配置JDK Groovy是依賴于Java的,所以首先要配置好JDK。 Step2:下載Groovy 下載地址,下載下來解壓即可。 Step3:配置Groovy環境變量 輸入 保存后讓配置生效并打印版本號 顯示結果為: 初體驗 創建一個groovy文件 輸入 保存后用groovy命令運行 輸出結果為: Step5:體驗自帶的編輯器 使用groovyconsole命令會啟動自帶的編輯器 我...
groovy入門
groovy對我來說是個剛聽到的新名詞。我是在項目啟動的時候莫名的報Groovy相關的錯誤,才知道有這么個語言的。對不起我水了。。。 groove是一種開發語言,是基于JVM的實現的。其特點如下: 下面是一個groovy的上手的文章 http://www.oschina.net/question/12_31387 我本地使用的是groovy1.8.6的測試。首先是安裝gro...
猜你喜歡
Groovy 教程
文章目錄 Groovy 概述 Groovy 的特點 Groovy 環境搭建 Groovy 基本語法 沒有類型的JAV 不需要的public 不需要的語句結束符 字符串連接符 一切皆對象 循環 String 和 Gstring 范圍 默認參數值 集合 Collection 集合 Map集合 閉包 類 斷言(assert) 構建腳本(build.gradle 重要) Groovy 概述 Groovy是...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...