• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 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
    

    基本語法

    在這里插入圖片描述

    • 變量定義
      1. 弱類型定義:def動態定義變量, 轉換到object
      2. 強類型定義:基礎類型和對象類型定義變量,轉換到Java對應包裝類
    • 字符串
      1. 單引號(單行):def name = ‘Hello’, 轉換為Java String
      2. 雙引號(可擴展任意表達式):def name=‘World’; def helloworld= “Hello ${name}”,轉換為Groovy GStringImpl
      3. 三引號(可多行):def name = ‘’’ Hello
        World’’’,轉換為Java String
      4. String與GStringImpl可以相互轉換
      5. 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的區別

    在這里插入圖片描述

    版權聲明:本文為yanggleyang原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/yanggleyang/article/details/103304829

    智能推薦

    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是...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    精品国产乱码久久久久久蜜桃不卡