如何在类文件中放置Kotlin扩展?

也许这个问题是在官方文档中回答的,但是我没有看到它…

在Swift中,我们习惯写类似的东西

class Jazz { ... } extension Jazz { func swing() { ... } } 

并把整个代码片段放在一个文件中,比如Jazz.swift

我们似乎无法在科特林做相应的事情? 我总是发现自己的自我写作,例如一个Jazz.kt和一个JazzExtensions.kt ,这并不总是构建代码的最清晰的方式。

对此的任何输入赞赏。

2 Solutions collect form web for “如何在类文件中放置Kotlin扩展?”

您可以将扩展函数放置在类的内部或外部:

外:

 class Jazz { ... } fun Jazz.bar() { println("hello") } 

里面(在companion object ):

 import YOUR_PACKAGE.Jazz.Companion.bar fun main(args: Array<String>) { Jazz().bar() } class Jazz { companion object { fun Jazz.bar() { println("hello") } } } 

Swift没有什么不同:

 class Jazz { val a = "Jazz" } fun Jazz.swing() = a //////////// fun main(args: Array<String>) { print(Jazz().swing()) // >>> Jazz } 
  • Android kotlin扩展错误
  • Kotlin中泛型类的扩展函数
  • Android SDK类上的Kotlin扩展函数的单元测试
  • Kotlin可变属性的扩展函数
  • 在V1.0.1中不能识别Kotlin扩展属性
  • 如何在父上下文中创建变量
  • 注释类型的扩展功能
  • 如何扩展Kotlin Number类或使用泛型来创建一个简单的属性getter,它将在所有的Nu​​mber子类上运行?
  • Kotlin:如何在事务类的上下文中运行服务方法?
  • 无法解析在扩展函数中提供给vararg参数的字符串
  • 在android java类中使用Kotlin扩展
  • Kotlin language will be the best programming language for Android.