如何在Kotlin中创建和调用扩展函数


fun main(args: Array<String>) {
val comingvalue = ""6340040278031835"".replace("[^0-9]".toRegex(), "");
print(getAuthDigits(comingvalue))
}
fun getAuthDigits( number :String?): String? {
return if (number?.length ?: 0 < 14) {
null
} else {
number?.substring(10, 14)
}
}

这是我在main方法中调用的函数。有人能建议如何创建一个扩展函数,以及如何使用comingvalue输入参数将其称为main方法吗?

fun String.getAuthDigits(): String? {
return if (this.length ?: 0 < 14) {
null
} else {
this.substring(10, 14)
}
}

并在下面这样称呼它

fun main(args: Array<String>) {
val comingvalue = ""6340040278031835"".replace("[^0-9]".toRegex(), "");
print(comingvalue.getAuthDigits())
}

如果这是您调用该函数的唯一位置,那么您也可以内联编写它。

如果条件不满足,可以使用takeIf()返回null

fun main() {
val authDigits: String? = """"6340040278031835""""
.takeIf { it.length >= 14 }?.substring(10, 14)
println(authDigits)
}

输出:

8031

最新更新