📜  Groovy-数据类型(1)

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

Groovy 数据类型

Groovy 是一种动态语言,因此它拥有比 Java 更简洁、更灵活的类型系统。下面我们将逐一介绍 Groovy 数据类型。

字符串

Groovy 中的字符串可以使用单引号或双引号括起来,且支持 Java 的字符串操作。此外,Groovy 还提供了更多功能强大的字符串操作,如 GString 以及三重单引号和三重双引号字符串。

def str1 = 'Hello, World!'
def str2 = "Groovy is ${str1.length()} characters long."
def str3 = """This is a
multi-line
string."""
数字

Groovy 中的数字包括整型、浮点型以及 Big 几种类型。此外 Groovy 还提供了一种可读性更好的数字表示法,即在数字与单位之间加上空格。

def num1 = 10
def num2 = 10.0
def num3 = 100000000000
def num4 = 1_234_567_890
def num5 = 1.23E6
列表

Groovy 的列表类型是 ArrayList 或 LinkedList,可以使用中括号来定义。

def list1 = [1, 2, 3]
def list2 = new ArrayList<String>()
list2.add('hello')
list2.add('world')
映射

Groovy 的映射类型是 LinkedHashMap 或 HashMap,也可以使用中括号来定义。

def map1 = [name: 'Bob', age: 30]
def map2 = new LinkedHashMap<String, Integer>()
map2.put('x', 10)
map2.put('y', 20)
闭包

闭包是 Groovy 的一种特殊数据类型,可以像函数那样定义和调用。闭包可以保存变量引用,可以作为入参传递给函数,也可以被赋值给变量和属性。

def closure = { a, b -> a + b }
def result = closure(2, 3)

Groovy 中的类使用关键字 class 来定义,支持类的继承、实现接口、属性、方法等。

class Person {
    String name
    int age
    
    String sayHello() {
        return "Hello, I'm ${name}, ${age} years old."
    }
}

def person = new Person(name: 'Bob', age: 30)
println(person.sayHello())

以上是 Groovy 中常用的数据类型,它们使得 Groovy 可以更快、更便捷地编写代码。