kotlin文档是否说过使用also()
函数只是为了减少代码行?我的意思是在lambda主体中执行一些无关的工作,而不使用it
参数。
例如,代替此:
fun togglePeriod() {
viewModel.togglePeriod()
showStatistics()
}
我写了这个:
fun togglePeriod() = viewModel.togglePeriod().also { showStatistics() }
答案 0 :(得分:3)
该代码应可读并表达其意图。为了减少行数而减少行数很少会提高可读性。
如果切换一个周期应该导致显示统计信息,那么拥有一个单独的togglePeriod()
方法主体是很有意义的,那么它可以很好地显示意图。 also()
难以理解。