Groovy语法大全
文章目录
- 一、Win10安装groovy环境
- `1.打开groovy自带的编辑器`
- 二、数值和表达式
- `1.整数运算符`
- `2.混合运算`
- `3.赋值`
- 第一次使用变量,需要用def去声明变量
- 变量被称作标识符,标识符命名规则
- 判断变量是否为整数
- 三、字符串和正则表达式
- `1.字符串索引`
- `2.基本操作`
- `3.正则表达式`
- `4.字符串替换`
- `5.常用操作`
- 字符串分割
- 判断字符串是否为数字
- 四、列表、映射和范围
- `1.列表`
- 列表方法
- 遍历列表
- 以逗号分隔,存到列表中
- 把列表元素拼接成字符串
- `2.映射(类似Python的字典)`
- 映射方法
- 映射取值方法对比
- 遍历映射
- `3.范围`
- 包含范围的示例
- 范围方法
- 五、基本输入输出
- `1.基本输出`
- `2.格式化输出`
- `3.简单输入`
- 六、学习案例1
- 七、方法
- 一个简单的方法定义
- 八、判断语句
- if
- 九、文件
- 写文件
- 十、闭包
- 一个简单的参数化闭包
- 使用隐参数it
- 十一、对象
- 追加datas这个Map对象到parameter
- 十二、异常处理
- `捕获异常,并抛出异常`
- `不抛出异常`
- 十三、选择语句
- 十三、其它
- 查看数据类型
参考书籍《GROOVY入门经典》
一、Win10安装groovy环境
参考文章:https://blog.csdn.net/mathew_leung/article/details/87922869
1.打开groovy自带的编辑器
DOS命令行输入groovyconsole
二、数值和表达式
1.整数运算符
2.混合运算
3.赋值
第一次使用变量,需要用def去声明变量
def conut = 0 #声明并初始化变量
count = conut + 1 #在当前值的基础上加1
变量被称作标识符,标识符命名规则
判断变量是否为整数
if(value instanceof Integer) {println "是整型"
} else {println "不是整型"
}
三、字符串和正则表达式
1.字符串索引
2.基本操作
3.正则表达式
=~
表示模糊匹配;==~
表示精确匹配
4.字符串替换
webVersion = webVersion.replaceAll("\n","") //替换字符串后面的换行符
def test = url.replaceAll("http(s)?:","") //替换http:或者https:为空
5.常用操作
字符串分割
split()方法不支持同时对多个字符进行分割,tokenize()支持
Jenkins高级篇之Pipeline实践篇-2-groovy中字符串操作split()和tokenize()区别
判断字符串是否为数字
def num = '1106502'
if(! num.isInteger() && ! num.isFloat()) {println "不是数字"}else{println "是数字"}println num
}
VALUE.contains('abc') //字符串包含abc
VALUE.startsWith('test') //以test开头为真
VALUE.endsWith('.txt') //VALUE字符串以.txt结尾为真
四、列表、映射和范围
参考文章:
Groovy的List(列表)操作
1.列表
def numbers = [11, 22] #定义一个新列表
numbers << 13 #[11, 22, 13]
numbers + [14, 15] #[11, 22, 13, 14, 15]
numbers - [11] #[22, 13]
列表方法
def arr = new ArrayList() //定义一个空列表
def HostIpList = [] //定义一个空列表
alist.contains(4) //检查4是否在alist列表中
alist.remove('b') //删除列表中的b元素
HostIpList = strings.split("\n") //以换行符进行分割,返回一个列表
def Flag = fileExists '/data/host.yaml' //存在返回真,不存在返回假
alist -= [1] //删除列表alist中值为1的元素
遍历列表
for(ip in ipList) { //for里面的变量ip是个局部变量println ip}
或者
[1, 2, 3].each {println it}
以逗号分隔,存到列表中
def nfs_server = "192.168.1.1,192.168.1.2"
def nfsIPList = nfs_server.split(",")
把列表元素拼接成字符串
string1 = alist[0] + '-' + alist[1]
2.映射(类似Python的字典)
简单的映射
映射方法
映射取值方法对比
def paramMap = ["a":1, "b":2]
paramMap.a和paramMap.get[‘a’]都可以获取a的值
如果paramMap中没有a,paramMap.a返回null
,paramMap.get[‘a’]会抛出异常
遍历映射
//方法一
def paramMap = ["a":1, "b":2]
paramMap.each{entry ->def key = entry.keydef value = entry.valueprintln keyprintln value
}
//方法二for (Map.Entry<String, List> entry:paramMap .entrySet()){println entry.getKey()println entry.getValue()
}
def map1 = [:] //定义空映射
3.范围
包含范围的示例
范围方法
五、基本输入输出
1.基本输出
println "Hello World!"
2.格式化输出
3.简单输入
六、学习案例1
def library =[ 'Ken' : ['Groovy','UML'],'John' : ['java']]
library['Sally'] = ['Basic']
library['John'] = library['John'] << 'OOD'
library['Ken'].contains('UML')
library.keySet().sort()
library['Ken'].size
七、方法
一个简单的方法定义
def greetings() {println 'Hello World!'
}
greetings()
八、判断语句
if
if(表达式){cmd
} else {cmd
}
九、文件
写文件
outFile = new File(‘/tmp/t1.txt’)
outFile.append('Hello World'+'\n')
十、闭包
表示一段可执行的代码库,类似于方法(函数)。
一个简单的参数化闭包
def clos={param -> println "Hello ${param}"}
clos('World')
解释:
param为形参,World为实参
使用隐参数it
def clos={println "Hello ${it}"}
clos.call('World')
十一、对象
追加datas这个Map对象到parameter
def parameter = new HashMap()
parameter.putAll(datas)
十二、异常处理
捕获异常,并抛出异常
timestamps
{try {语句块}//trycatch(Exception err) {throw new Exception("*******Caught an exception: ${err}")}
}
不抛出异常
try {sh 'lsd'
} catch (ignored) {println 'not throw exception'
}
十三、选择语句
switch (type) {case "mysql":println("mysql数据库")breakcase "oracle":println("oracle数据库")breakdefault:println("前面没有匹配下,执行default下面的语句")}
十三、其它
查看数据类型
println(alist.getClass())
Groovy语法大全相关推荐
- 【Groovy】Groovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )
文章目录 一.字符串切割 1.使用 Java 语法切割字符串 2.使用 Groovy 语法切割字符串直接为变量赋值 3.数组赋值给变量 变量个数小于等于数组长度 二.完整代码示例 一.字符串切割 在 ...
- 【Groovy】Groovy 代码创建 ( 使用 Java 语法实现 Groovy 类和主函数并运行 | 按照 Groovy 语法改造上述 Java 语法规则代码 )
文章目录 一.创建 Groovy 代码文件 二.使用 Java 语法实现 Groovy 类和主函数并运行 三.按照 Groovy 语法改造上述 Java 语法规则代码 一.创建 Groovy 代码文件 ...
- DB2数据库SQL语法大全推荐word版
<DB2数据库SQL语法大全推荐word版> 下载地址: 网盘下载 转载于:https://www.cnblogs.com/long12365/p/9731437.html
- html设置边框dw,Dreamweaver表格边框设置的css语法大全
Dreamweaver表格边框设置的css语法大全 具体内容包括:上边框宽度.右边框宽度.下边框宽度.左边框宽度.边框宽度.边框颜色.边框样式.上边框.下边框.左边框.右边框.边框.宽度.高度.有关标 ...
- groovy语法基础
转载自:http://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html 使用 Groovy 的简单语法开发 Jav ...
- Mysql语法大全(命令行)(简洁、明了、全面)
Mysql命令行的语法 另外一个Mysql语法大全的版本:点这里 两个Mysql语法大全以及命令行代码!!!基本上学习Mysql没有问题 嘿嘿!学习是一个长期的过程!!!还会继续更新!!! 基本的My ...
- 批处理文件语法大全(怎么写Bat文件)
批处理文件语法大全(怎么写Bat文件) 作者:本站 来源:本站整理 发布时间:2006-11-27 17:05:08 发布人:admin 减小字体 增大字体 扩展名是bat(在nt/2000/x ...
- Markdown语法大全(超级版)
Markdown语法大全(超级版) CSDN的参考文档并不全-- 文章目录 Markdown语法大全(超级版) 概述 设计理念 内联 HTML 语法 特殊字符自动转义 行内语法讲解 注释的表述 代码法 ...
- Markdown编辑器语法大全
一.什么是Markdown? Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber).它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者H ...
最新文章
- android 开发框架 怎么使用,Android快速开发框架dyh详解(二)---控件层的使用
- oracle11gr2查看数据库状态,Oracle 11gR2数据库文件丢失后的恢复测试
- 【spring-boot】restfull api 返回值中,去掉 null 值
- 学习过程中的一些想法
- JSONPath 解析 JSON 内容详解(翻译自 github)
- HCNA配置telnet远程管理
- JDBC第三篇--【事务、元数据、改造JDBC工具类】
- 数据资产管理及数据管控体系建设思路
- 下载Linux系统内文件到Windows
- pdf在线免费去水印 以及图片去水印 方法
- PyTorch实现基于卷积神经网络的面部表情识别
- 悟空问答死于知乎十周年
- 有了TeamViewer,在家工作不是难事
- 【Java】数组Array(概念、相关语法、相关算法)
- Perceptron(感知机与径向基)
- POJ2431 Expedition(优先队列)
- 2004年7月15日
- VS Code配置Java环境(Java17)
- 【LabVIEW小技巧】LabVIEW用数值表示颜色盒的值
- UltralSO制作Centos U盘系统盘