例如,当一个 lambda 作为构造函数参数传递给一个对象时,后者可以用于引用另一个必须稍后定义的对象:
lateinit修饰符现在可以用在顶级属性和局部变量上。...例如,当作为构造函数参数传递给一个对象的 lambda 引用另一个对象时,稍后必须定义的对象可以使用:
循环中的值:1, 2, 3, 1, 2, 3, 1, ......windowed, chunked, zipWithNext
Iterable, Sequence 和 CharSequence 的新扩展包含了诸如缓冲或批处理(chunked),滑动窗口和计算滑动平均值...这可能会影响应用程序的整体性能;仅在多个类之间共享一些复杂的状态并在类初始化时更新时才使用它。
“手工”的解决方法是将控制流的子表达式的值存储在变量中,而不是直接在调用参数中对它们进行求值。...破坏性变更:通过内联的扩展接收器修复平台的 null 转义
在平台类型空值上调用的内联扩展函数并没有检查接收器是否为 null,并因此允许 null 转义到其他代码中。