一.Groovy的基本语法编写
1.打开IntelliJ IDEA,新建项目,现在Gradle项目,选择java项目。
2.填写GroupId和ArtifactId和version
3.勾选Use auto-import(自动下载导入依赖),Use local gradle distribution(使用本地Gradle),并选择Gradle的安装目录
4.填写project name和project location
5.完成项目创建
二.编写Groovy语言
1.点击Tools-Groovy Console,在左侧编写Groovy语言,点击运行按钮,即可在Run窗口看到运行结果
2.编写Groovy语言:
/** * groovy语言 1.Groovy完全兼容java语法,在Groovy里面编写的java语法可以执行,两者都运行在jvm上。Groovy最终会被编译成java编译后一样的字节码 2.分号是可选的 3.类,方法默认是public的 4.编译器会自动为Groovy的属性添加getter/setter方法 5.属性可以直接使用.号获取 6.方法中最后一个表达式的值会作为返回值 7.==同等于equals,使用时不会有NullpointerExceptions 8.括号是可选的 */
//用java语法定义bean(版本类)
//3.类,方法默认是public的
public class ProjectVersion{
// 2.分号是可选的
//小版本
private int small
//大版本
private int big
//构造方法(初始化大小版本)
public ProjectVersion(int small,int big){
this.small=small
this.big=big
}
int getSmall() {
// return small
// 6.方法中最后一个表达式的值会作为返回值
small
}
void setSmall(int small) {
this.small = small
}
// 4.编译器会自动为Groovy的属性添加getter/setter方法
// int getBig() {
// return big
// }
//
// void setBig(int big) {
// this.big = big
// }
}
//使用bean
ProjectVersion projectVersion1 = new ProjectVersion(1,2)
//5.属性可以直接使用.号获取
//8.括号是可选的
println projectVersion1.big
//7.==同等于equals,使用时不会有NullpointerExceptions
ProjectVersion projectVersion2 = null
projectVersion2==projectVersion1
3.Groovy的高级特性
//groovy的高级特性(类似javascript)
//1.自动类型定义
def version = 1//根据值定义类型,相当于js的var
//2.assert语句
//assert version == 2//false
//3.括号是可选的
println version
//4.字符串可以使用单引号,双引号,三引号
def s1='tiglle' //普通字符串形式
def s2="tiglle version is ${version}" //双引号可以在里面使用${变量}的形式使用变量
def s3='''字符串可以换行,
并且结果
也是
换行效果保存''' //三引号的字符串可以任意换行
//打印上面的效果
println s1
println s2
println s3
//4.集合api
//1.list
//定义一个ArrayList
def nameList = ['xiaoming','xiaohong']
//向list添加数据
nameList << 'xiaowang'
assert nameList.getClass() == ArrayList
assert nameList.size() == 3
//2.map
//定义一个HashMap
def persionMap = ['name':'xiaoming','age':20]
//向map添加数据
persionMap.sex = 'man'
//使用map
println persionMap.sex
println persionMap['name']
println persionMap.getClass()
//6.闭包
//1.包含参数的闭包
def bibao1 = {
//参数
v ->
println v
}
//2.不包含参数的闭包
def bibao2 = {
println 'tiglle'
}
//通过方法使用闭包
//1.闭包1的方法:将方法作为参数
def function1(Closure closure){
//调用传参
closure('param')
}
//2.闭包2的方法:将方法作为参数
def function2(Closure closure){
//调用
closure()
}
//使用方法
function1(bibao1)
function1(bibao2)
4.项目的Groovy脚本阅读
//为什么要学习groovy,就是为了看懂和编写简单的Gradle的由groovy语言编写的构建脚本
//groovy的构建脚本详解
//每个Gradle的构建脚本都对应一个Project实例(项目),脚本的所有代码的默认作用域都是Project范围
//apply:Project的某个方法
//plugin:'java'定义plugin变量,值为'java',向js对象变量定义
apply plugin:'java'
//Project的version属性,值为0.1
version = '0.1'
//定义的闭包
repositories {
mavenCentral()
}
dependencies {
compile 'commons-codec:commons-codec:1.6'
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。