ZetCode

Groovy 基础

最后修改于 2025 年 3 月 20 日

本文探讨 Groovy 中的基本编程概念。我们从简单的程序开始,然后介绍变量、常量和数据类型。我们还将介绍 Groovy 中的控制台 I/O 和字符串格式化。

Groovy 简单示例

这是一个基本的 Groovy 示例。将其保存为 Simple.groovy。与 Java 不同,Groovy 不需要类名与文件名匹配。

Simple.groovy
println "This is Groovy"

Groovy 比 Java 更简单。对于基本脚本,它不需要类或 main 方法。上面的代码会将“This is Groovy”打印到控制台。

Groovy 脚本可以无需样板代码直接运行。保存文件并使用 groovy 命令运行它。

$ groovy Simple.groovy
This is Groovy

Groovy 控制台读取值

此示例演示如何在 Groovy 中从控制台读取输入。

ReadLine.groovy
print "Enter your name: "
def name = System.console().readLine()
println "Hello, $name!"

脚本会提示输入姓名,读取它,然后向用户打招呼。Groovy 的 System.console 提供控制台访问。

def name = System.console().readLine()

def 在不指定类型的情况下定义变量。Groovy 在此处将其推断为 String。readLine 获取用户输入。

println "Hello, $name!"

Groovy 支持使用 $ 进行字符串插值。它将 name 值直接嵌入到字符串中。

$ groovy ReadLine.groovy
Enter your name: Jane
Hello, Jane!

Groovy 命令行参数

Groovy 脚本可以轻松接受命令行参数。

CommandLineArgs.groovy
args.each { arg ->
    println arg
}

args 变量在 Groovy 脚本中是隐式可用的。它是一个命令行参数数组。

args.each { arg -> println arg }

each 方法遍历 args 数组。对于每个元素,它都会打印该值。Groovy 的闭包简化了这一点。

$ groovy CommandLineArgs.groovy 1 2 3
1
2
3

Groovy 变量

Groovy 中的变量用于存储数据,并且可以更改值。它们使用 def 或像 String 这样的特定类型定义。

Variables.groovy
def city = "Paris"
String name = "Marie"
int age = 28

println city
println name
println age

city = "Berlin"
println city

我们使用 def 进行灵活的类型设置,并在需要时使用 Stringint 等显式类型。

city = "Berlin"

变量可以重新分配。在这里,city 从“Paris”更改为“Berlin”。

$ groovy Variables.groovy
Paris
Marie
28
Berlin

Groovy 常量

Groovy 中的常量使用 final 来防止初始化后更改。

Constants.groovy
final int MAX_USERS = 100
def count = 50

count = 75
// MAX_USERS = 200 // This would fail
println "Count: $count, Max: $MAX_USERS"

final int MAX_USERS = 100 设置一个常量。尝试重新分配它会导致错误。

$ groovy Constants.groovy
Count: 75, Max: 100

Groovy 字符串格式化

Groovy 使用 $${} 进行插值,从而简化了字符串构建。

StringFormatting.groovy
def name = "Alex"
def age = 25

println "$name is $age years old"
println "Next year, ${name} will be ${age + 1}"

$name 直接嵌入变量。${} 允许像 age + 1 这样的表达式。

$ groovy StringFormatting.groovy
Alex is 25 years old
Next year, Alex will be 26

来源

Groovy 文档

本教程通过实际示例介绍了 Groovy 基础知识。

作者

我叫 Jan Bodnar,我是一名热情的程序员,拥有丰富的编程经验。自 2007 年以来,我一直在撰写编程文章。至今,我已撰写了 1,400 多篇文章和 8 本电子书。我在编程教学方面拥有八年以上的经验。

列出 所有 Groovy 教程