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

Groovy学习(二)

时间:2015-06-13 21:45:22      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

列表(list):

        Groovy中的列表和Java的数组相似,如:

def numbers = [1, 2, 3, 4]

        Groovy列表使用索引操作符[]来表示元素值,[]是List类的getAt方法的重载,用法和字符索引获取子字符串相似,同时列表之间可以进行+、-、赋值、<<等操作。

映射(map):

        映射就是大家熟悉的键值对的无序集合,key值不能为变量,例如:

def x = 1

def y = 2

def m = [x : y, y : x]       //m = [‘x‘ : 2, ‘y‘ : 1]

映射也是通过getAt方法获取索引的值的,同样也是使用putAt方法进行赋值:

def  names = [‘Rex‘ : ‘Barclay‘, ‘David‘ : ‘Savage‘]

def divisors = [4 : [2], 6 : [3, 2], 12 : [6, 3, 2, 1]]

names[‘Rex‘]       //‘Barclay‘   names.getAt(‘Rex‘)

names.Rex          //‘Barclay‘

names[‘John‘]     //null

divisors[6]          //[3, 2]

divisors[6] = [1] //[4 : [2], 6 : [1], 12 : [6, 3, 2, 1]]

从上面可以看出映射的键可以是String类型的,也可以是Integer类型的,同时这两种类型可以混用:

def names = [1 : ‘Rex‘, ‘1‘ : ‘David‘]

names[1]     //‘Rex‘

names[‘1‘]   //‘David‘

范围(range):

        范围是表达特定序列值的一种简略方法,有时可以当特定序列的数组用。

1..10     // 1, 2, 3, 4, ...., 10

10..1     // 10, 9, 8, ...., 1

1..<10  // 1, 2, 3, 4, ...., 9

‘A‘..‘D‘   // A, B, C, D

def start = 10

def finish = 12

start..finish + 1           //[10, 11, 12, 13]

基本输出:

        print "hello word"

        println "hello word"

        printf ‘hello %s‘, ‘word‘

支持以上三种输出方式,print、println差别在print打印文本后不换行,都可以加上括号使用。printf用法和很多语言一致。

基本输入:

        System.in.readLine()  //获取输入的一行字符串,以换行结束,如果希望得到其他类型的数据,只需要之后toInteger(),......

        Console.readString()  //需要import console.*, 获取输入的字符串可以以空格结束

        Console.readInteger()//获取Integer数据


Groovy学习(二)

标签:

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

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