下面这个是我们常见的用法 args.forEach({println(it)})
源码 public inline fun Array.forEach(action: (T) -> Unit): Unit { for (element in this) action(element) }
从上面看,forEach是Array的扩展方法,可以把forEach当做自己的方法
其中action是{println(it)} action的后面 T是参数的类型,->Unit这个是lambda表达式返回的类型
对于函数来说,如果最后一个参数是lambda表达式
args.forEach({println(it)})
就可以把大口号移到外面
args.forEach() {println(it)}
如果小括号里面什么都没有,还可以把小括号删除
args.forEach{println(it)}
如果传入的函数和lambda表达式类型完全一样,可以进一步简化
args.forEach(::println)