美文网首页
Gradle 分享(简单入门)

Gradle 分享(简单入门)

作者: zhaoyubetter | 来源:发表于2017-11-07 10:25 被阅读36次

    Groovy的简单入门

    分享的仅是 Groovy 皮毛,大神勿喷!

    参考信息:

    1. http://www.jianshu.com/p/777cc61a6202

    简介

    Groovy是运行在JVM上的编程语言,说是一种运行在jvm中的动态语言,Groovy可以与Java无缝衔接互相调用,因为groovy编译出来的也是Java字节码;

    Groovy也是一种脚本语言;
    脚本语言目标是将应用程序连接起来实现一些繁琐、变动频繁的细节;如:copy文件、打包等等;用少量的代码,实现相当强大的功能;

    Groovy的应用之: Gradle
    这个构建工具就是基于Groovy来编写而成的,引入第三方库更为简洁;

    开发环境的搭建

    以为为Windows平台

    1. 当然是JDK的配置;
    2. 下载Groovy sdk,地址为:groovy sdk;下载好了,直接解压;
    3. 配置Groovy的环境变量; 建立GROOVY_HOME,值为上解压目录;
      编辑Path追加 %GROOVY_HOME%\bin
    4. 验证:在命令行输入:groovy -v提示OK,表示环境成功了;

    Hello world的编写

    命令行输入:groovyconsole 可进入Groovy自带的编写器,来体验一把!

    如下:

    Hello WorldHello World

    当然了,我们肯定要使用 idea 这个东东;

    略!

    基础语法

    1. 变量 OR 方法定义

    使用 def 来定义变量,或者方法, 变量的定义不需要具体的类型;groovy的语句结束,不需要添加分号;程序根据上下文自动判断类型(真正的多态);

    如下:

    def a = 'hello'  
    println(a)
    def fun(c) {   // c 为动态类型
        println(c)
    }   
    
    // 创建对象:
    def obj = new Object()   // 跟java类似
    

    2.方法返回值

    groovy 方法的最后一行即为方法的返回值,可省略掉return 语句;

        
        @Test
        void testFunc() {
            println(groovyFunc(1,2))        // 输出 1 2
        }
    
        def groovyFunc(arg1, arg2) {
            println arg1
            println arg2
            arg1 + " " + arg2    // 最后一行是返回值
        }
    

    3.运算符重载

    http://www.jianshu.com/p/d3eb904406bc

    Groovy MetaClass

    参考:http://www.blogjava.net/johnnyjian/archive/2010/03/19/315962.html
    Metaclass就是Class的Class,Class定义了该类实例的行为,Metaclass则定义了该类及其实例的行为(http://en.wikipedia.org/wiki/Metaclass))。Groovy通过Metaclass使程序可以在运行时修改/添加类的方法、属性等(动态性)。

    在Groovy中,每个Class都有一个对应的Metaclass,通过这个Metaclass可以给这个Class添加方法或属性:

    示例:为String类添加新方法

     String.metaClass.capitalize = {  delegate[0].toUpperCase() + delegate[1..-1] }
     println("very".capitalize())  // 首字母大写
    

    Groovy 列表、映射和范围

    这是Groovy最常用的了;

    链接:http://www.jianshu.com/p/4f5facc8d384

    Groovy 闭包

    http://www.jianshu.com/p/637e4d4b65a1

    应用场景:DSL(这个非常重要);

    XML 处理

    http://www.jianshu.com/p/695507fcc24d

    脚本特性

    直接运行groovy脚本 (格式:groovy 文件全路径):
    groovy在内存中编译代码并执行;

    当然也可以先编译成class,通过 java 命令再运行

    import java.io.*
    
    println("Hello Groovy!")
    println(new Date())
    
    println("start copy ....")
    
    def input = new File("C:/album_demo.mp4").newDataInputStream()
    def output = new File("D:/1.mp4").newDataOutputStream()
    
    output << input 
    input.close()
    output.close()
    
    println("end copy")
    

    后续

    相关文章

      网友评论

          本文标题:Gradle 分享(简单入门)

          本文链接:https://www.haomeiwen.com/subject/fbcapxtx.html