我是靠谱客的博主 飞快太阳,最近开发中收集的这篇文章主要介绍Groovy基础知识——脚本必备,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Groovy是用于Java虚拟机的一种敏捷动态语言,它是一种成熟的面向对象编程语言,既可以面向对象编程,也可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时,又具有闭包和动态语言中的其他特性。

Groovy与Java比较:

  • Groovy完全兼容Java的语法(最后都是编译成字节码文件)
  • 分号是可选的
  • 类、方法默认是public的
  • groovy编译器给属性自动添加getter/setter方法
  • 属性可以直接用点号获取
  • 最后一个表达式的值会被作为返回值(如果这是一个有返回值的方法,那么最后的return可以省略)
  • ==等同于equals(),不会有NullPointerExceptions

Groovy高效特性:

  • assert语句(在程序的任何地方都可以断言操作)
  • 可选类型定义(弱类型编程语言,def直接变量名即可)
  • 可选括号
  • 字符串:单引号/双引号/三引号
  • 集合API
  • 闭包

Groovy示例代码:

public class ProjectVersion{
    private int major;
    private int minor;

    ProjectVersion(int major, int minor) {
        this.major = major
        this.minor = minor
    }

    int getMajor() {
        major
    }

    void setMajor(int major) {
        this.major = major
    }
}

ProjectVersion v1 = new ProjectVersion(1,2);
println v1.major

ProjectVersion v2 = null
println v1 == v2

Groovy基础知识演练:

// 1.可选的类型定义
def version=1.0
// 2.assert
assert version==1.0 // 输出true
// 3.括号是可选的
println(version)
println version
// 4.字符串
def s1='groovy' // 仅仅是个字符串
def s2="gradle version is ${version}" // 可以插入变量
def s3='''This
is
groovy''' // 可以换行
// 5. 集合API --- List
def buildTools=['ant','maven']  // 默认对应java类型是ArrayList
buildTools << 'gradle'  // 向集合中追加元素
assert buildTools.getClass() == ArrayList // true
assert buildTools.size() == 3   // true
// 5. 集合API --- Map
def buildYears=['ant':2000,'maven':2004]  // 默认对应java类型是LinkedHashMap
buildYears.gradle = 2009  // 向Map中追加元素
println buildYears.ant  // 通过key获取value
println buildYears['gradle']    // 通过key获取value

assert buildYears.getClass() == LinkedHashMap // true
// 6.闭包  --- 简单的说闭包就是一个代码块,和一个方法一样,可以有参数,可以无参数;
// 闭包可以赋值给一个变量
// 闭包也可以当一个参数传递给一个方法,像普通方法调用
// 闭包的使用方式有很多种

// 以下是在gradle中最常见的使用方式
def c1={    // 定义一个闭包
    v -> println v;
}

def c2={    // 定义一个闭包
    print "Hello"
}

// 定义一个方法(函数),一定不要导入Closure
def method1(Closure closure) {
    closure ver='parameter'
}
// 定义一个方法(函数),一定不要导入Closure
def method2(Closure closure){
    closure()
}

method1(c1) // 执行结果:parameter
c1 v:'java'
method1(c1) // 执行结果:[v:java]

method2(c2) // 执行结果:Hello

Gradle构建脚本示例:

// 这个一个构建脚本
// 每个构建脚本默认都有一个项目构建实例
// 这个脚本中默认的作用域就是这个project

apply plugin:'java'         // plugin:'java'是命名参数

version = '0.1'

repositorys {       // 方法
    mavenCentral()  // 闭包
}

dependencies {  // 方法
    compil 'commons-code:commons-codec:1.6' // 闭包
}

最后

以上就是飞快太阳为你收集整理的Groovy基础知识——脚本必备的全部内容,希望文章能够帮你解决Groovy基础知识——脚本必备所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部