我在网上做了一个Groovy教程,在玩完代码之后我发现了一些我无法理解的行为。
首先我创建了一个这样的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
方法打印到控制台时:
devMap.eachWithIndex { it, i -> println "$i: $it" }
以下内容已打印到控制台:
0: name=Frankie
1: framework=Grails
2: language=Groovy
3: lastName=Hollywood
所以我无法理解为什么索引打印了第二个语句以及为什么键值对之间有=
个符号但没有:
符号?
感谢。