apply方法可以将多个步骤合并。可以提前做一些配置。非常的好用。
例如下面的代码,代码一是用传统的方式实现了一个只读文件的配置,代码二将这段代码封装到了apply里面,相比第一种,好处就是代码集中,结构清晰。
这里有几个需要解释的点。
1.apply会把this传入lambda表达式,也就是{}里面,也就是代码一的file变量。
2.apply返回file自身。
fun main() {
//代码一
var file = File("test.txt");
file.setExecutable(true)
file.setReadable(true)
file.setWritable(false)
//代码二
var readOnlyfile = file.apply() {
setExecutable(true)
setReadable(true)
setWritable(false)
}
readOnlyfile.mkdir();
}
因篇幅问题不能全部显示,请点此查看更多更全内容