Getting Started with Groovy
Groovy is a powerful, optionally typed and dynamic language that runs on the Java Virtual Machine (JVM). It combines the best features of Java with dynamic programming languages like Python and Ruby. Groovy is often used for scripting tasks, rapid application development, and as a general-purpose language for JVM projects.
In this tutorial, we’ll cover the basics of Groovy with examples to get you started.
1. Installing Groovy
Before you can start writing and running Groovy code, you need to have Groovy installed on your system. Here are the steps to install Groovy:
Windows:
- Download the latest Groovy binary distribution from the official website.
- Extract the downloaded ZIP file to a directory on your computer.
- Add the
bin
directory of the extracted Groovy folder to your system’sPATH
environment variable.
macOS:
- You can install Groovy using Homebrew. Open a terminal and run:
brew install groovy
Linux:
- You can install Groovy using SDKMAN. Open a terminal and run:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install groovy
Once installed, you can verify the installation by opening a terminal and typing groovy -v
. You should see the installed version of Groovy.
2. Hello World in Groovy
Let’s start with a classic “Hello, World!” example to get familiar with Groovy’s syntax:
Create a file named HelloWorld.groovy
and add the following code:
// HelloWorld.groovy
class HelloWorld {
static void main(String[] args) {
println "Hello, World!"
}
}
To run this script, open a terminal, navigate to the directory containing HelloWorld.groovy
, and run:
groovy HelloWorld.groovy
You should see Hello, World!
printed to the console.
3. Basic Syntax
Comments
Groovy supports both single-line and multi-line comments:
// This is a single-line comment
/*
This is
a multi-line
comment
*/
Data Types
Groovy supports the same data types as Java, including int
, double
, String
, boolean
, etc. You can also use the def
keyword for type inference:
def name = "Alice"
def age = 30
def isStudent = true
Strings
Groovy makes working with strings easy. You can use single or double quotes for string literals:
def firstName = 'John'
def lastName = "Doe"
def fullName = "$firstName $lastName"
Lists and Maps
Groovy provides convenient syntax for working with collections:
def numbers = [1, 2, 3, 4, 5]
def person = [
name: "Alice",
age: 30,
city: "New York"
]
Loops
Groovy supports for
and while
loops:
def numbers = [1, 2, 3, 4, 5]
for (num in numbers) {
println num
}
int i = 0
while (i < 5) {
println "Number: $i"
i++
}
Conditionals
Groovy has the usual if-else
statements:
def age = 18
if (age < 18) {
println "Too young"
} else if (age >= 18 && age < 65) {
println "Adult"
} else {
println "Senior"
}
Methods
Defining methods in Groovy is straightforward:
def greet(name) {
println "Hello, $name!"
}
greet("Alice")
4. Closures
One of Groovy’s powerful features is closures, which are blocks of code that can be assigned to a variable or passed as an argument to methods. They are similar to lambdas or anonymous functions in other languages.
def closure = {
println "This is a closure"
}
closure()
def timesTwo = { num ->
num * 2
}
println timesTwo(5) // Output: 10
5. Classes and Objects
Groovy supports object-oriented programming with classes and objects:
class Person {
String name
int age
void speak() {
println "Hello, my name is $name and I am $age years old."
}
}
def person1 = new Person(name: "Alice", age: 30)
person1.speak()
Conclusion
This tutorial covers the basics of Groovy programming, from installation to syntax, data types, loops, conditionals, closures, and object-oriented programming. Groovy’s simplicity and expressiveness make it a great choice for various applications, especially when working with the Java ecosystem. Explore further by trying out more examples and diving into Groovy’s extensive features and libraries.