您可以使用apply
如果你正在創建的東西實例可以在一開始分配,然後要修改它。當你有一件事時,使用let()
,但想把它變成另一件事。當你什麼都沒有開始時,你可以使用run()
,並建立一些東西返回。
使用適用:
private val properties = Properties().apply {
load(Application::class.java.getResourceAsStream("application.properties"))
}
或使用讓:(不是最好的例子,但你明白了吧)
private val properties = Application::class.java.getResourceAsStream("application.properties")
.let { stream ->
val props = Properties()
props.load(stream)
props
}
或使用運行:
private val properties = run {
val properties = Properties()
val stream = Application::class.java.getResourceAsStream("application.properties")
properties.load(stream)
properties
}
一些圖書館創建了這些變體,並將它們稱爲verifiedBy
或initializedBy
,它們基本上可以做同樣的事情,但要明確意圖。創建新的函數以便您的代碼以您想要的方式讀取,但也可以通過嘗試使用stdlib函數來平衡該函數,因爲這與其他Kotlin用戶一致。
您可以用'運行{}'這裏,而不是調用'調用()' – voddan