groovy闭包
来源:互联网 发布:电脑性能评估软件 编辑:程序博客网 时间:2024/05/18 00:29
Groovy是增强Java平台的唯一的脚本语言。它提供类似于Java的语法,内置映射(Map)、列表(List)、方法、类、闭包(closure)以及生成器。
Groovy是动态弱类型语言,即Groovy不要求声明变量的类型、方法的参数或者方法的返回值。这意味着在不同环境下,变量可以以多种方式使用。
Groovy类和Java是二进制兼容的。这意味着Groovy编译器产生的字节码与Java编译器产生的字节码是完全一样的。因此,对JVM而言,Groovy和Java是完全一样的。
Groovy是一门面向对象的语言。
数值和表达式
两个整数的除法运算通常会产生一个浮点数,即使其结果可能是一个整数。
如表达式6/3的结果是浮点数2.0,而不是整数2.
为了获得两个整型值相除的整数部分,必须调用intdiv方法:
13.intdiv(5)
该表达式的结果是整数2.
使用取模运算符(%)可以得到两个整数操作数相除的余数。但是对一个浮点数求模,或者对一个含有浮点数参数的整数求模都是非法的。
在Groovy中,第一次使用某个变量时,需要使用def关键字来声明变量。
变量的命名规则:可以由字母、数字和下划线组成,对大小写敏感,首字符必须是字母。
字符串和正则表达式
在Groovy中,可以使用单引号('abc')、双引号("abc")、或者三引号('''abc''')来封装字符串。使用三引号表示的字符串可以包含多行文本。
使用单引号封装的字符串的值就是所列出的字符序列本身。而在双引号和三引号中,任何包含在解释型字符串中的${expression}都将被求值,
其结果是字符串的一部分。如:
def age = 25
'My age is ${age}' //My age is ${age}
"My age is ${age}" //My age is 25
'''My age is ${age}''' //My age is 25
"My age is \${age}" //My age is ${age}
Groovy是动态弱类型语言,即Groovy不要求声明变量的类型、方法的参数或者方法的返回值。这意味着在不同环境下,变量可以以多种方式使用。
Groovy类和Java是二进制兼容的。这意味着Groovy编译器产生的字节码与Java编译器产生的字节码是完全一样的。因此,对JVM而言,Groovy和Java是完全一样的。
Groovy是一门面向对象的语言。
数值和表达式
两个整数的除法运算通常会产生一个浮点数,即使其结果可能是一个整数。
如表达式6/3的结果是浮点数2.0,而不是整数2.
为了获得两个整型值相除的整数部分,必须调用intdiv方法:
13.intdiv(5)
该表达式的结果是整数2.
使用取模运算符(%)可以得到两个整数操作数相除的余数。但是对一个浮点数求模,或者对一个含有浮点数参数的整数求模都是非法的。
在Groovy中,第一次使用某个变量时,需要使用def关键字来声明变量。
变量的命名规则:可以由字母、数字和下划线组成,对大小写敏感,首字符必须是字母。
字符串和正则表达式
在Groovy中,可以使用单引号('abc')、双引号("abc")、或者三引号('''abc''')来封装字符串。使用三引号表示的字符串可以包含多行文本。
使用单引号封装的字符串的值就是所列出的字符序列本身。而在双引号和三引号中,任何包含在解释型字符串中的${expression}都将被求值,
其结果是字符串的一部分。如:
def age = 25
'My age is ${age}' //My age is ${age}
"My age is ${age}" //My age is 25
'''My age is ${age}''' //My age is 25
"My age is \${age}" //My age is ${age}
通用的原则是,只在字符串需要被解释的时候使用双引号,在其他情况下字符串使用单引号。
闭包常用方法demo,直接贴代码demo.groovy,运行时直接输入groovy demo.groovy:
阅读全文
0 0
- Groovy闭包
- Groovy 中的闭包
- groovy 闭包
- Groovy 闭包
- Groovy的闭包
- groovy 闭包
- Groovy闭包理解
- Groovy的闭包
- Groovy闭包笔记
- Groovy的闭包
- Groovy的闭包
- Groovy闭包学习
- groovy闭包
- Groovy入门-闭包
- Groovy 闭包
- Groovy 闭包
- Groovy闭包简述
- Groovy中的闭包
- Codeforces Round #447 (Div. 2) ABCDE
- SEO变现的途径有哪些?
- 给某个标签添加click事件,通过jQuery写click方法的方式,如何实现
- Spring异步任务处理,@Async的最基础的配置和使用
- Windows 下编译 OpenSSL
- groovy闭包
- HDU 4238 区间dp
- C++不可或缺
- GBDT(Gradient Boosting Decision Tree) 详解
- Qualcomm平台camera调试移植入门
- (并查集)【HDU-1272】小希的迷宫
- 我胡汉三又回来了!
- matlab eval()函数的使用方法
- JDBC中关于PreparedStatement.setObject的一些细节说明