Groovy 语法知识点

1、注释

单行,多行,groovydoc 注释,与 java 基本一致

2、shebang line

#! /usr/bin/env groovy
println "Hello from the shebang line"

groovy 可以作为脚本语言使用,这跟 java 有很大的不同,首先 groovy 代码文件的名称不一定要与文件中的类同名,且文件中的语句也不一定要全部放在类中,它是一种脚本语言,当执行该 groovy 脚本时,会顺序执行脚本中的语句。

shebang 就是告诉 linux/unix 系统,该脚本应该用哪一种解释器去解析,python,perl,ruby,这些都是脚本语言,它们的源码文件中也会用到 shebang 符号。

3、关键字

as,assert,break,case,catch,class,const,continue,def,default,do,else,enum,extends,false,finally,for,goto,if,implements,import,in,instanceof,interface,new,null,package,return,super,switch,this,throw,throws,trait,true,try,
while,

关键字是理解一门编程语言的入口,groovy 是为 java 程序开发人员设计的脚本语言,因此它最大程度的延用 java 的语法特征,并适当的引入新的概念。

从关键字上可以看出,绝大多数 java 中都有。

as,def,goto,in, instanceof,trait

这几个关键字要格外关注。

4、标识符

groovy 标识符以字母,$ 符,下划线开头,不能以数字开头。

合法的标识符:

def name
def item3
def with_underscore
def $dollarStart

非法的标识符:

def 3tier
def a+b
def a#b

标识符加 dot 后面可以跟关键字:

foo.as
foo.assert
foo.break
foo.case
foo.catch

5、带引号的标识符

def map = [:]

map."an identifier with a space and double quotes" = "ALLOWED"
map.'with-dash-signs-and-single-quotes' = "ALLOWED"

assert map."an identifier with a space and double quotes" == "ALLOWED"
assert map.'with-dash-signs-and-single-quotes' == "ALLOWED"

6、字符串

在 groovy 中,字符串既可以是 java.lang.String 类型,也可以是 groovy.lang.GString 类型,GString 字符串属于 插值字符串,用起来更加的灵活。

格式语法插值多行转义符
Single-quoted‘…​’\
Triple-single-quoted‘’’…​’’’Yes\
Double-quoted“…​”Yes\
Triple-double-quoted“”"…​"""YesYes\
Slashy/…​/YesYes\
Dollar slashy / … ​ / /…​/ //YesYes$

7、Lists

groovy list 对应与 java.util.List,默认情况下,实现类为 java.util.ArrayList,也可以指定其他类型的 List 实现类。

def numbers = [1, 2, 3]         

assert numbers instanceof List  
assert numbers.size() == 3  

def linkList = [1,2,3] as LinkedList
LinkedList otherLinked = [3, 4, 5]     

List 中元素的类型可以不同, 例如 [1, "a", true]

groovy arrays 与 lists 在字面形式上是一样的, 但 array 需要显示的指定元素类型。

String[] arrStr = ['Ananas', 'Banana', 'Kiwi']
def numArr = [1, 2, 3] as int[] 

8、Maps

map,有时也成为字典,关联数组,在 groovy 中表示为:

def colors = [red: '#FF0000', green: '#00FF00', blue: '#0000FF'] 

在 groovy 中 {} 用来表示代码块,闭包,所以 map 的定义使用 [], 这跟 js,python 等脚本语言不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值