Tag: 类型安全

是否有可能从lambda的闭包隐藏变量?

我试图在Kotlin中创建类型安全的Groovy风格的构建器,就像这里所描述的那样。 问题是嵌套lambda中lambda接收器的可见性。 这是一个简单的例子。 html { head(id = "head1") body() { head(id = "head2") } } 嵌套lambda的Receiver是没有“head”方法的Body。 不过这个代码编译打印成这样: <html> <head id="head1"></head> <head id="head2"></head> <body></body> </html> 这是预料,但有没有办法让内心的编译错误?