概述
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基础知识——脚本必备所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复