Groovy基础语法
Groovy是一种功能强大,可选类型和动态 语言,支持Java平台。旨在提高开发人员的生产力得益于简洁,熟悉且简单易学的语法。可以与任何Java程序顺利集成,并立即为您的应用程序提供强大的功能,包括脚本编写功能,特定领域语言编写,运行时和编译时元编程以及函数式编程。
安装
-
确保JDK已经被安装
-
使用berw安装
brew install groovy
- 如果有需要则添加环境变量
export GROOVY_HOME=xxx export PATH=$PATH:$GROOVY_HOME/bin
数据类型
字符串string
字符串表示: 单引号、双引号、三引号
contains() //是否包含特定内容 返回true false
size() length() //字符串数量大小长度
toString() //转换成string类型
indexOf() //元素的索引
endsWith() //是否指定字符结尾
minus() plus() //去掉、增加字符串
reverse() //反向排序
substring(1,2) //字符串的指定索引开始的子字符串
toUpperCase() toLowerCase() //字符串大小写转换
split() 字 //符串分割,默认分隔符为空格,返回列表
列表list
列表的表示: [] [1,2,3,4]
+ - += -= //元素增加减少
判断add() << //添加元素
isEmpty() //是否为空
intersect([2,3]) disjoint([1]) //取交集、判断是否有交集
flatten() //合并嵌套的列表
unique() //去重
reverse() sort() //反转 升序
count() //元素个数
join() //将元素按照参数链接
sum() min() max() //求和 最小值 最大值
contains() //包含特定元素
remove(2) removeAll()
each{} //遍历,遍历时默认的接受参数的变量是it
映射map
types = [“maven”:“mvn”]
size() //map大小
[’key’] .key get() //获取value
isEmpty() //是否为空
containKey() //是否包含key
containValue() //是否包含指定的value
keySet() //生成key的列表
each{} //遍历map
remove(‘a‘) //删除元素(k-v)
流程控制
if语句
在Jenkinsfile中可用于条件判断。
if (表达式) {
//xxxx
} else if(表达式2) {
//xxxxx
} else {
//
}
switch语句
switch("${buildType}"){
case ”maven":
//xxxx
break;
case ”ant":
//xxxx
break;
default:
//xxxx
}
for循环语句
test = [1,2,3]
for ( i in test){
///xxxxxx
break;
}
//代码
langs = ['java','python','groovy']
for ( lang in langs ){
if (lang == "java"){
println("lang error in java")
}else {
println("lang is ${lang}")
}
}
while
while(true){
//xxxx
}
函数
在共享库中每个类中的方法。
def PrintMes(info){
if (info == "DevOps"){
return info
}
}
response = PrintMes("DevOps")
println(response)