[√]groovy / gradle学习

43 阅读1分钟

Groovy和Gradle是两个与Java相关的工具和语言。

Groovy是一种类似于Java的动态编程语言,它在JVM上运行,并兼容Java。Groovy提供了更简洁、灵活、易于阅读和编写的语法,同时还支持闭包、元编程等高级特性。Groovy可以与Java代码无缝互操作,并且可以在许多不同的应用场景中使用,包括脚本编写、Web开发、测试等。

Gradle是一款灵活强大的构建工具。它使用Groovy语言来定义项目构建脚本,可以处理各种不同类型的项目,包括Java、Android、Scala等。Gradle采用声明式的方式定义项目的构建过程,使得构建任务的配置变得简单且可扩展。通过使用插件,Gradle还支持许多其他功能,如单元测试、代码静态分析、打包发布等。

println("Hello World")

groovy ./test.groovy

输出

Hello World

数组

// arrray
int[] array = [1, 2, 3]
// for
for (arr in array) {
    println(arr)
}

字符串

// 类似js中的``,保持内部的换行和缩进
println('hello')
println("hello")
println('''
a
    b
''')

函数闭包

// function
String method1(String v) {
    println(v)
    return 'method1_' + v
}

// 正常的函数
android = 'android'
void testFunc() {
    println(android) // 输出 android,可以访问外部变量
}
testFunc()

// 闭包函数
def func = {
    println(android)
}
func() // 输出 android

class

class Persion {

    String name

    String say() {
        return 'my name is: ' + this.name
    }

}
// def 会自动推到类型,但是不建议使用
Persion persion = new Persion(name:'grovvy')
println(persion.say())

gradle

java build tool

下载地址:gradle.org/releases/

设置环境变量

image.png

验证:

image.png

  • build.gradle
task hello {
    doLast {
        println 'hello'
    }
}

在这个文件同目录执行gradle hello就会执行这个task

image.png

gradle

官网 有手册和入门教程,可以跟着一步一步学。

DSL

DSL(Domain Specific Language)