一、数据类型
java String,下面的是内置数据类型,强类型,一旦定义后无法修改变量类型
1 byte -这是用来表示字节值。例如2。 2 short -这是用来表示一个短整型。例如10。 3 int -这是用来表示整数。例如1234。 4 long -这是用来表示一个长整型。例如10000090。 5 float -这是用来表示32位浮点数。例如12.34。 6 double -这是用来表示64位浮点数,这些数字是有时可能需要的更长的十进制数表示。例如12.3456565。 7 char -这定义了单个字符文字。例如“A”。 8 Boolean -这表示一个布尔值,可以是true或false。 9 String -这些是以字符串的形式表示的文本。例如,“Hello World”。
def -- 定义任意变量类型的关键字
二、常用方法
1.string
GString又叫可扩展字符串,用于""中,如下,c就是可扩展字符串
1 2 3 4 | println "a=${3+2}" def b = "hello" def c = "${b} world" println c |
1 job_name = "devops05-app-service_CI" 2 3 // ["devops05", "app", "service_CI"] 4 bu_name = job_name.split('-')[0] 5 println(bu_name) //devops05 6 // contains 7 println(job_name.contains("CI")) //true 8 9 //size/length 10 println("size: ${job_name.size()}") 11 println("length: ${job_name.length()}") 12 13 //endsWith() 14 println("enswith CI: ${job_name.endsWith('CI')}") //true
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <br> //List tools = [ "gitlab" , "jenkins" , "maven" , "sonar" ] pipeline { agent any stages{ stage( "run" ){ steps{ script{ // script println (tools) // add println (tools + "k8s" ) println (tools) println (tools << "ansible" ) //改变原对象 println (tools) println (tools - "maven" ) println (tools) tools.add( "maven" ) println (tools) println (tools.getClass()) // contains println (tools. contains ( "jenkins" )) // length println (tools. size ()) // index println (tools[ 0 ]) println (tools[- 1 ]) } } } } } |
map
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | //Map user_info = [ "id" : 100 , "name" : "jenkins" ] pipeline { agent any stages{ stage( "run" ){ steps{ script{ // script println (user_info) // get name println (user_info[ "name" ]) println (user_info[ "id" ]) // = user_info[ "name" ] = "jenkinsX" println (user_info) // key println (user_info.containsKey( "name" )) println (user_info.containsValue( 100 )) // keys println (user_info.keySet()) // remove user_info.remove( "name" ) println (user_info) } } } } } |
三、条件语句
1.if/else
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | //if // dev == dev stag == master branchName = "dev" pipeline { agent any stages{ stage( "run" ){ steps{ script { // script currentBuild.displayName = branchName if ( branchName == "dev" ){ println ( "deploy to dev...." ) currentBuild.description = "deploy to dev...." } else if (branchName == "master" ){ println ( "deploy to stag...." ) currentBuild.description = "deploy to stag...." } else { currentBuild.description = "error..." println ( "error..." ) } } } } } } |
2.switch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | //switch // dev == dev stag == master branchName = "dev" pipeline { agent any stages{ stage( "run" ){ steps{ script { // script currentBuild.displayName = branchName switch (branchName) { case "dev" : println ( "deploy to dev...." ) currentBuild.description = "deploy to dev...." break case "master" : println ( "deploy to stag...." ) currentBuild.description = "deploy to stag...." break default : currentBuild.description = "error..." println ( "error..." ) break } } } } } } |
3.for
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | //for users = [ [ "name" : "zeyang" , "role" : "dev" ], [ "name" : "zeyang1" , "role" : "admin" ], [ "name" : "zeyang2" , "role" : "ops" ], [ "name" : "zeyang3" , "role" : "test" ] ] pipeline { agent any stages{ stage( "run" ){ steps{ script { // script // i = ["name": "zeyang", "role": "dev"] user_names = [] for (i in users){ println (i[ "name" ]) user_names << i[ "name" ] } println (user_names) // [zeyang, zeyang1, zeyang2, zeyang3] // times 10 . times { println ( 'hello' ) } 10 . times { i -> println (i) } } } } } } |
4.while
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | // while sleeps = true pipeline { agent any stages{ stage( "run" ){ steps{ script { // script while (sleeps){ println ( "sleep...." ) } } } } } } |
三、函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | //function /* def关键字 定义函数名为GetUserNameByID, 带有一个参数id; 函数体内的for循环遍历users的列表,如果id与参数id一致则返回用户的name;否则返回null; */ users = [ [ "id" : 1 , "name" : "jenkins1" ], [ "id" : 2 , "name" : "jenkins2" ], [ "id" : 3 , "name" : "jenkins3" ], ] pipeline{ agent any stages{ stage( "run" ){ steps{ script { //script // 调用函数并打印返回值 name = GetUserNameByID( 1 ) println (name) //jenkins1 } } } } } // define GetUserName def GetUserNameByID(id){ for (i in users){ if (i[ "id" ] == id){ return i[ "name" ] } } return "null" } |
四、异常
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // try catch /* 如果println(a)失败(肯定失败,因为有语法错误) catch捕获错误,并打印错误。 finally 总是执行。 error关键字可以抛出异常。 */ pipeline{ agent any stages{ stage( "run" ){ steps{ script{ // script try { println (a) // not define a error } catch (Exception e){ println (e) error "error..." } finally { println ( "always...." ) } } } } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言