Let's say I have a few extension methods for "MyClass". My question is, what's the best practice to organize/store these methods? Should they be simply put into a "MyClassExtensions" Kotlin file?

我曾try 将这些方法封装在一个类中,但是在导入类之后,我似乎不知道如何使用/访问扩展方法.

编辑: 为澄清起见,我并不是要求帮助如何命名包含扩展方法的文件.我问的是存储/组织此类方法的最佳实践/方法.也就是说.应该简单地将它们放入Kotlin文件中,还是应该将它们封装在类中.我来自Java背景,所以我习惯于在类中存储内容.

推荐答案

As far as I am concerned, you should put them into a utility file, as you did in Java code base before.

但是请注意,你不再需要把它们放到一个课堂上.顶级功能是最佳 Select .

你可以参考kotlin标准库或一些开源项目,比如anko,这些都是很好的例子.

在我的例子中,我将一个类的扩展名放入一个与另一个包中的原始文件同名的文件中,并使用

@JvmMultifileClass

减少生成的类文件的数量.

Kotlin相关问答推荐

Kotlin:有限的并行性并不是限制并行性

数据流弹性模板失败,出现错误&未知非复合转换urn";

在Kotlin lambda的参数中如何指定函数类型?

如何从 Period.between() 返回的字符串中提取信息? (Kotlin )

Kotlin 可空泛型

循环中的每个元素都应填充行中可用的所有可用空间

伴随对象在变量更改时更改它的值

在 kotlin 中模拟伴随对象函数

Kotlin 代码是如何编译成原生代码的?

如何将 kotlin 集合作为 varagrs 传递?

使用 Kotlin 创建新目录,Mkdir() 不起作用

以编程方式重新启动 Spring Boot 应用程序/刷新 Spring 上下文

如何处理 Kotlin 中的异常?

如何在 Spring WebFlux 的响应正文中流式传输二进制数据

更新到版本4.10.1/4.10.2后 Gradle 同步失败

Kotlin 警告:Conditional branch result of type ... is implicity cast of Any?

在android的默认浏览器 Select 列表中添加我的浏览器?

Dagger +Kotlin 不注入

Kotlin - 如何获取注释属性值

Kotlin:访问 when 语句的参数