我在那裏在線製作一個Groovy教程,在玩過代碼後,我觀察到一些我無法理解的行爲。Groovy:使用eachWithIndex方法觀察到的不同行爲
首先,我創建了一個Map對象是這樣的:
def devMap = [:]
devMap = ['name':'Frankie', 'framework':'Grails', 'language':'Groovy']
devMap.put('lastName','Hollywood')
然後我打電話eachWithIndex
打印出來的值,就像這樣:
devMap.eachWithIndex { println "$it.key: $it.value"}
打印了這個控制檯:
name: Frankie
framework: Grails
language: Groovy
lastName: Hollywood
但是當我從eachWithIndex
我打印到控制檯THOD這樣使用箭頭操作:
devMap.eachWithIndex { it, i -> println "$i: $it" }
下得到打印到控制檯:
0: name=Frankie
1: framework=Grails
2: language=Groovy
3: lastName=Hollywood
所以,我能不明白是爲什麼指標得到了印有第二個語句,以及爲什麼有=
符號,但沒有:
鍵值對之間的符號?
謝謝。
索引打印是因爲您告訴代碼打印它:「$ i」是索引。 – Jkike
我認爲這是原因。任何關於等號的想法? – Celt
它是使用equals打印的Map.Entry類的toString()。 – Jkike