Groovy中的列表和Java的數組類似,如:數組
def numbers = [1, 2, 3, 4]spa
Groovy列表使用索引操做符[]來表示元素值,[]是List類的getAt方法的重載,用法和字符索引獲取子字符串類似,同時列表之間能夠進行+、-、賦值、<<等操做。orm
映射就是你們熟悉的鍵值對的無序集合,key值不能爲變量,例如:索引
def x = 1字符串
def y = 2get
def m = [x : y, y : x] //m = ['x' : 2, 'y' : 1]it
映射也是經過getAt方法獲取索引的值的,一樣也是使用putAt方法進行賦值:console
def names = ['Rex' : 'Barclay', 'David' : 'Savage']import
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'
範圍是表達特定序列值的一種簡略方法,有時能夠當特定序列的數組用。
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數據