📅  最后修改于: 2023-12-03 15:31:04.664000             🧑  作者: Mango
Groovy是一种基于Java的编程语言,它可以和Java无缝集成。Groovy具有动态语言的特性,可以让开发者更快速地编写Java代码。本教程将为你介绍Groovy语言的基础知识和常用功能。
Groovy与Java一样,需要先安装Java环境。安装完Java环境后,可以通过插件或官网下载Groovy SDK,进行安装配置。
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还有很多其他的特性,可以在实际开发中进行深入学习和应用。