• groovy程序设计


            /*********
             * groovy中Object类型存在隐式转换 可以不必使用as强转
             */
            Object munber = 9.343444
            def number1 = 2
            println munber - number1
    
            if (number1 < munber) {
                println '转换了'
            }
    
            /************
             *  测试groovy中空字符串运算
             */
            def str1 = "8"
            def str2 = "-1"
            def str3 = "*2"
    
            GroovyShell shell = new GroovyShell()
            println shell.evaluate(str1 + str2)
            println shell.evaluate(str1 + str3)
    
            /**
             * 测试字符串
             */
            def str5 = 'java'
            def str6 = 'java '
            println str5 == str6
            println str5.trim() == str6.trim()
    
            /****
             * 测试运算符号
             */
    
            def num = 2
            def num1 = 3
            println num << num1
    
            /****************
             *  测试 进程
             */
    
            println 'cmd /C dir'.execute().text
    
            /**************
             * 安全导航操作符的使用
             * ?. 操作符只有对象引用不为空时才会分派调用
             */
            def str7 = null
            def str8 = 'jiao'
    
            println str7?.reverse() // 不加问好会报错 空指针异常
            println str8.reverse()
    
    /****
     * 使用多赋值
     */
    def fullName( fullname) {
        fullname.split(' ')
    }
    def ( first, last ) = fullName ('jiao xi')
    
    println " $first , $last"

    /***********
    * 多赋值
    * 多余的变量将会设置为null , 多余的值会被 丢弃 。
    */
    def ( String cat , String mouse ) = [ 'Tom', 'Jerry', 'Tyke']
    def ( String cat1 , String mouse1, String dog ) = [ 'Tom', 'Jerry']
    println "$cat and $mouse "
    println "$cat1 and $mouse1 and $dog "

    /**************
    * groovy 中的bool值判定
    *
    * 类型 为真的条件
    * Boolean 值为true
    * Collection 集合不为空
    * Character 值不为0
    * CharSequence 长度大于0
    * Iterator hasNext() 为true
    * Number Double值不为0
    * Map 该映射不为空
    * Matcher 至少有一个匹配
    * Object[] 长度大于0
    * 其他任何类型 引用不为null
    *
    */
    /****
    * 闭包懒加载
    */
    def number = 1 
    def eagerGString = "value == ${number}"
    def lazyGString = "value == ${ -> number }"
    
    assert eagerGString == "value == 1" 
    assert lazyGString ==  "value == 1" 
    
    number = 2 
    assert eagerGString == "value == 1" 
    assert lazyGString ==  "value == 2"

    /***********
    * *操作符
    */
    int function(int x, int y, int z) {
        x*y+z
    }
    def args = [4,5,6]
    assert function(*args) == 26
     
  • 相关阅读:
    多层交换概述
    多层交换MLS笔记2
    多层交换MLS笔记1
    RSTP Proposal-Agreement
    RSTP Note
    保护STP
    优化STP
    Cisco STP Note
    25、C++的顶层const和底层const
    43、如何用代码判断大小端存储
  • 原文地址:https://www.cnblogs.com/jsersudo/p/11319048.html
Copyright © 2020-2023  润新知