📅  最后修改于: 2023-12-03 15:15:26.534000             🧑  作者: Mango
Groovy 变量是用于存储数据的名称。在 Groovy 中,变量有以下特点:
在 Groovy 中,变量可以在任何地方声明。声明变量需要使用关键字 def
:
// 声明一个整数变量
def myInteger = 42
// 声明一个字符串变量
def myString = "Hello, world!"
// 声明一个布尔变量
def myBoolean = true
// 声明一个列表变量
def myList = [1, 2, 3]
变量还可以在函数中使用。如果在函数中声明变量,变量的作用域只限于函数内部:
def myFunction() {
// 声明一个变量,作用域为函数内部
def myVariable = "Hello, world!"
println(myVariable)
}
myFunction() // 输出 "Hello, world!"
// myVariable 只能在函数内部使用
println(myVariable) // 报错:无法识别 "myVariable"
变量赋值是指给变量设置一个新值。可以使用 =
运算符将新值分配给变量:
// 修改变量的值
myInteger = 21
myString = "Goodbye, world!"
myBoolean = false
myList = [4, 5, 6]
Groovy 中有多种类型的变量,包括整数、浮点数、字符串、布尔值、列表、映射等等。变量的类型可以自动推断,也可以通过关键字显式指定:
// 声明一个整数变量
def myInteger = 42
// 声明一个浮点数变量
def myDouble = 3.14
// 声明一个字符串变量
def myString = "Hello, world!"
// 声明一个布尔变量
def myBoolean = true
// 声明一个列表变量
def myList = [1, 2, 3]
// 声明一个映射变量
def myMap = [name: "John", age: 30]
// 显式声明一个整数变量
def myExplicitInteger = Integer.valueOf("42")
变量的作用域指的是变量可以被访问到的范围。在 Groovy 中,变量有以下作用域:
全局作用域指的是变量可以在整个应用程序中被访问到。全局变量可以在任何地方声明,但是需要定义在类或方法之外:
// 定义一个全局变量
myGlobalVariable = "Hello, world!"
// 全局变量可以在任何地方使用
def myFunction() {
println(myGlobalVariable)
}
myFunction() // 输出 "Hello, world!"
类级别作用域指的是变量可以在类中被访问到。类级别变量可以在类定义之内但是在方法定义之外定义:
class MyClass {
// 定义一个类级别变量
def myClassVariable = "Hello, world!"
def myFunction() {
// 类级别变量可以在类的任何方法内使用
println(myClassVariable)
}
}
def myObject = new MyClass()
myObject.myFunction() // 输出 "Hello, world!"
实例级别作用域指的是变量可以在类的每个实例中被访问到。实例级别变量可以在类的构造函数内定义:
class MyClass {
def myInstanceVariable
// 定义构造函数,初始化实例级别变量
MyClass(def myVariable) {
myInstanceVariable = myVariable
}
def myFunction() {
// 实例级别变量可以在类的任何方法内使用
println(myInstanceVariable)
}
}
def myObject1 = new MyClass("Hello")
def myObject2 = new MyClass("World")
myObject1.myFunction() // 输出 "Hello"
myObject2.myFunction() // 输出 "World"
局部作用域指的是变量只能在方法或块内被访问到。局部变量可以在方法或块内定义:
def myFunction() {
// 定义局部变量
def myLocalVariable = "Hello, world!"
println(myLocalVariable)
}
myFunction() // 输出 "Hello, world!"
// myLocalVariable 只能在函数内部使用
println(myLocalVariable) // 报错:无法识别 "myLocalVariable"
本文介绍了 Groovy 中的变量,包括变量的声明、赋值、类型、作用域等方面。变量是 Groovy 语言中重要的基本概念,在编写 Groovy 程序时需要灵活运用。