Groovy脚本基础全攻略(1)

本文详细介绍了Groovy语法的基础知识,包括注释、关键字、标识符的使用,特别是引用标识符的特殊规则。此外,文章深入探讨了Groovy中的字符串类型,如单引号字符串、三重引号字符串、双引号字符串和斜线字符串,以及它们的插值和转义规则。同时,提到了字符Characters、数字Numbers以及Booleans、Lists、Arrays、Maps等数据类型。Groovy的运算符和程序结构也有所提及,特别是运算符如次方、非运算符、安全占位符、直接域访问操作符和方法指针操作符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2 语法基础

==========

这里开始我们就来快速简单粗暴的了解一下Groovy语法,其实和Java类似,但也有些区别,下面我们一步一步来看吧,切记对比学习,这才是秘笈。

2-1 注释


Groovy的单行注释、多行注释、文档注释基本都和Java一样,没啥特殊的,不再细说。只有一种特殊的单行注释需要留意一下即可。如下:

#!/usr/bin/env groovy

println “Hello from the shebang line”

这种注释通常是用来给UNIX系统声明允许脚本运行的类型的,一般都是固定写法,没啥讲究的。

2-2 关键字


Groovy有如下一些关键字,我们些代码命名时要注意:

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

这玩意和其他语言一样,没啥特殊的,自行脑补。

2-3 标识符


对于Groovy的标示符和Java还是有些共同点和区别的,特别是引用标示符的区别,具体可以往下看。

2-3-1 普通标识符

普通标识符定义和C语言类似,只能以字母、美元符、下划线开始,不能以数字开头。如下例子:

//正确

def name

def $name

def name_type

def foo.assert

//错误

def 5type

def a+b

2-3-2 引用标识符

引用标识符出现在点后的表达式中,我们可以如下一样使用:

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”

当然了,Groovy的所有字符串都可以当作引用标示符定义,如下:

//如下类型字符串作为引用标识符都是对的

map.‘single quote’

map.“double quote”

map.‘’‘triple single quote’‘’

map.“”“triple double quote”“”

map./slashy string/

map. / d o l l a r s l a s h y s t r i n g / /dollar slashy string/ /dollarslashystring/

//稍微特殊的GString,也是对的

def firstname = “Homer”

map.“Simson-${firstname}” = “Homer Simson”

assert map.‘Simson-Homer’ == “Homer Simson”

2-4 字符及字符串


Groovy有java.lang.String和groovy.lang.GString两中字符串对象类型,具体如下细说。

2-4-1 单引号字符串

单引号字符串是java.lang.String类型的,不支持站位符插值操作,譬如:

def name = ‘Test Groovy!’

def body = ‘Test $name’

assert name == ‘Test Groovy!’

assert body == 'Test n a m e ′ / / 不会替换 name' //不会替换 name//不会替换name站位符

Groovy的字符串可以通过”+“直接拼接,譬如:

assert ‘ab’ == ‘a’ + ‘b’

其中涉及转义字符规则同Java,只用特殊注意”’“的转义即可。

2-4-2 三重单引号字符串

三重单引号字符串是java.lang.String类型的,不支持站位符插值操作,可以标示多行字符串,譬如:

def aMultilineString = ‘’'line one

line two

line three’‘’

三重单引号字符串允许字符串的内容在多行出现,新的行被转换为“\n”,其他所有的空白字符都被完整的按照文本原样保留;字符开头添加“/”表示字符内容不转义反斜杠“\”,只有在反斜杠接下来是一个字符u的时候才需要进行转义,因为\u表示一个unicode转义。如下:

def strippedFirstNewline = ‘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值