二.Groovy的介绍

一.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'
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值