📜  Groovy教程(1)

📅  最后修改于: 2023-12-03 15:31:04.664000             🧑  作者: Mango

Groovy教程

Groovy是一种基于Java的编程语言,它可以和Java无缝集成。Groovy具有动态语言的特性,可以让开发者更快速地编写Java代码。本教程将为你介绍Groovy语言的基础知识和常用功能。

语言基础
安装

Groovy与Java一样,需要先安装Java环境。安装完Java环境后,可以通过插件或官网下载Groovy SDK,进行安装配置。

第一个Groovy程序
println "Hello, Groovy!"
变量

Groovy支持动态类型,可以在不指定类型的情况下直接定义变量。

def str = "hello"
def num = 5
方法
def sayHello(name) {
    println "Hello, $name!"
}
流程控制

Groovy的流程控制和Java一样,包括if、for、while、switch等语句。

def age = 20

if (age > 18) {
    println "成年人"
} else {
    println "未成年人"
}

for (i in 1..5) {
    println i
}

while (age < 30) {
    age++
    println "现在年龄是$age"
}

switch (age) {
    case 20:
        println "二十岁"
        break
    case 30:
        println "三十岁"
        break
    default:
        println "其他年龄"
        break
}
常用功能
集合操作

Groovy对Java集合进行了扩展,提供了更多的便利方法。

def list = [1, 2, 3, 4, 5]

// 遍历
list.each { println it }

// 过滤
def newList = list.findAll { it > 2 }
println newList

// 转换
def strList = list.collect { "item-$it" }
println strList

// 排序
def sortedList = list.sort()
println sortedList
文件读写

Groovy提供了更加简单的文件读写方式。

def file = new File("test.txt")

// 写入文件
file.write("hello, groovy!")

// 读取文件
def text = file.text
println text
元编程

Groovy支持元编程,可以在运行时动态修改类的属性和方法。

class Person {
    def name
    def age

    def sayHello() {
        println "Hello, $name!"
    }
}

def p = new Person(name: "Bob", age: 18)

// 动态添加属性
p.height = 180

// 动态添加方法
p.metaClass.sleep = {
    println "$name is sleeping ..."
}

p.sleep()
结语

以上就是Groovy的基础知识和常用功能。Groovy还有很多其他的特性,可以在实际开发中进行深入学习和应用。