码迷,mamicode.com
首页 > 其他好文 > 详细

Groovy学习(三)

时间:2015-06-18 13:47:47      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

方法:

Groovy的方法定义使用def关键字,并且参数名后面的括号不能去掉,与java不同的是不需要参数类型和返回值类型。

class MethodPractice {
    static main(args) {
        def obj = new MethodPractice();
        def num = obj.method1(0);
        println num;           //null
        println obj.method2(); //2
        println obj.method3(); //3
    }
    def method1(arg1, arg2 = 1) {
        println arg1;
        println arg2;
    }
    def method2() {
        1;
        2;
    }
    def method3() {
        return 3;
        println 2;
    }
}


如上方法的参数可以设默认值,当这个参数没有传入时,使用默认值,同时每个方法或表达式都是有返回值的,没有明确指定return时,默认返回最后执行语句的值,return之后的语句不会被执行。

流程控制语句:

while:

与Java语法相似,当while内的代码只有一行时可以去除{}

for:

for (variable in range)  |   for (variable in array)  | for (variable in string)  | for (variable in hash)

class IteratorPractice {
    static main(args) {
        def hash = [ ‘rex‘ : 1, ‘david‘ : 2, ‘john‘ : 3 ];
        for (user in hash)
            println "${user.key} : ${user.value}";
        for (str in "Hello")
            println str;
        for (num in 1..10)
            println num;
        for (num in [1, 2, 3, 4])
            println num;
    }
}

for循环遍历Hash时,variable.value是hash的值,varuable.key是hash的key,当for循环里的代码只有一行时也可以去除{}简写。

if:

用法与Java一致,只是当if或else中的代码只有一行,那么可以去掉{}简写

switch|case|default:

用法与Java一致,只是groovy的case后面支持的验证方式更加强大,支持range、array、regex,当swotch传入参数值在range范围中,或在array中存在,或匹配正则表达式,将执行case后的语句;

break|continue:

用法同Java一致


Groovy学习(三)

标签:

原文地址:http://my.oschina.net/u/1413049/blog/468274

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!