zoukankan      html  css  js  c++  java
  • Groovy基础语法

    1.数据类型

    1.1 String字符串

    • contains()是否包含某个内容 返回True False

      groovy:000> "devops".contains("ops")
      ===> true
      groovy:000> "devops".contains("a")
      ===> false

    • size() 统计字符串的长度

      groovy:000> "devops".size()
      ===> 6

    • indexOf() 元素的索引

      groovy:000> "devops".indexOf('d')
      ===> 0
      groovy:000> "devops".indexOf('e')
      ===> 1
      groovy:000> "devops".indexOf('v')
      ===> 2
      groovy:000> "devops".indexOf('devops')

    • endsWith() 是否以某个内容结尾 返回 True False

      groovy:000> "devops".endsWith("s")
      ===> true
      groovy:000> "devops".endsWith("a")
      ===> false

    • 字符串的增加和减少

      groovy:000> "dev"+"ops"
      ===> devops
      groovy:000> "devops"-"ops"
      ===> dev

    • split 字符串分割默认是返回列表

      groovy:000> "devops".split()
      ===> [devops]
      groovy:000> "d e v o p s".split()
      ===> [d, e, v, o, p, s]
      groovy:000> "d,e,v,o,p,s".split(",")
      ===> [d, e, v, o, p, s]
      groovy:000> "d,e,v,o,p,s".split()
      ===> [d,e,v,o,p,s]
      groovy:000> "d,e,v,o,p,s".split(",")
      ===> [d, e, v, o, p, s]
      groovy:000>

    1.2 list列表

    • 字符串添加

      groovy:000> [1,2,3,4,5]+5
      ===> [1, 2, 3, 4, 5, 5]
      groovy:000> [1,2,3,4,5]<<6
      ===> [1, 2, 3, 4, 5, 6]

    • unique() 去重

      groovy:000> [1,2,3,4,5,5,5,5].unique()
      ===> [1, 2, 3, 4, 5]

    • contains() 包含特定元素
      groovy:000> [1,2,3,4,5,5,5,5].contains(2)
      ===> true
      groovy:000> [1,2,3,4,5,5,5,5].contains(333)
      ===> false

        groovy:000> a = "java,python,nodejs".split(",")
        ===> [java, python, nodejs]
        groovy:000> for (i in a){
        groovy:001>     println(i)
        groovy:002> }
        java
        python
        nodejs
        ===> null
    

    1.3 map

    size() map大小
    [’key’]  .key get()  获取value
    isEmpty() 是否为空
    containKey() 是否包含key
    containValue() 是否包含指定的value
    keySet() 生成key的列表
    each{} 遍历map
    remove(‘a‘)  删除元素(k-v)
    
    练习
    
    groovy:000> [:]
    ===> [:]
    groovy:000> [1:2]
    ===> [1:2]
    groovy:000> [1:2][1]
    ===> 2
    groovy:000> [1:2,3:4,5:6]
    ===> [1:2, 3:4, 5:6]
    groovy:000> [1:2,3:4,5:6].keySet()
    ===> [1, 3, 5]
    groovy:000> [1:2,3:4,5:6].values()
    ===> [2, 4, 6]
    groovy:000> [1:2,3:4,5:6] + [7:8]
    ===> [1:2, 3:4, 5:6, 7:8]
    groovy:000> [1:2,3:4,5:6] - [7:8]
    ===> [1:2, 3:4, 5:6]
    

    2.if语句

    groovy:000> buildtype = "java"
    ===> java
    groovy:000> if (buildtype == "java"){
    groovy:001>     println("this is java project")
    groovy:002> }else if (buildtype == "python"){
    groovy:003>     println("this is java project")
    groovy:004> }else{
    groovy:005>     println("this is java project")
    groovy:006> }
    this is java project
    ===> null
    

    3.switch语法

    switch("${buildType}"){
        case ”maven":
        //xxxx
            break;
        case ”ant":
        //xxxx
            break;
        default:
        //xxxx
    }
    
    练习
    switch("${buildType}"){
        case 'maven':
            println("This is a maven project !")
            break;
            ;;
    
        case 'gradle':
            println("This is a gradle projects!")
            break;
            ;;
    
        default:
            println("Project Type Error!")
            ;;
    }
    

    4.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}")
        }
    }
  • 相关阅读:
    orm添加表记录
    创建多表模型
    包的使用
    日志写法
    os模块,是通过和操作系统交互进行操作
    sys python解释器做交互
    软件开发规范
    模块 time模块 datatime模块 random模块
    装饰器
    装饰器进阶
  • 原文地址:https://www.cnblogs.com/precipitation/p/15097598.html
Copyright © 2011-2022 走看看