Добавление слишком большого количества расширений скоро станет грязным, поэтому группировка расширений в пространстве имен каркаса была бы идеальной. Например, вместо добавления всех функций непосредственно в Int, например:
fun Int.operationA() {
println("A $this")
}
fun Int.operationB() {
println("B $this")
}
// and use it like:
123.operationA()
123.operationB()
Я бы предпочел использовать его внутри пространства имен платформы, например:
123.framework.operationA()
123.framework.operationB()
// Declaring it like this would be nice
fun Int.framework.operationA() {
println("A $this")
}
В Swift это возможно выполнить sh это с использованием протоколов и расширений с реализациями по умолчанию. Как насчет Kotlin? Есть ли способ сделать это?