简单但罗word的解决方案是:
if (oldVersion <= 1) upgradeFromV1()if (oldVersion <= 2) upgradeFromV2()if (oldVersion <= 3) upgradeFromV3()
函数引用的另一种可能的解决方案:
fun upgradeFromV0() {}fun upgradeFromV1() {}fun upgradeFromV2() {}fun upgradeFromV3() {}val upgrades = arrayOf(::upgradeFromV0, ::upgradeFromV1, ::upgradeFromV2, ::upgradeFromV3)fun upgradeFrom(oldVersion: Int) { for (i in oldVersion..upgrades.lastIndex) { upgrades[i]() }}


