internal
声明不能在其他 Kotlin 模块中使用,但由于 JVM 方面的支持不足,它仍然暴露给非 Kotlin 代码(例如可以在依赖于 JAR 的 Java 代码中使用)。因此,访问权限在运行时不会像 private/protected/package-private
声明一样由 JVM 进行检查,而是 Kotlin 编译器在使用位置检查访问权限。 - hotkey<kotlinc>
Ant 任务编译的一组文件。根据 IntelliJ 的文档:Kotlin 模块与 IntelliJ 的模块(iml 文件)一一对应。
当涉及到 Maven 项目或命令行编译时,根据Andrey 的说法:模块允许您在一个应用程序中结合多种技术和框架。在 IntelliJ IDEA 中,您可以为一个项目创建多个模块,每个模块可以负责自己的框架。
此外,Gradle 源码集是一个模块,除了默认情况下,每次编译都是一个单独的模块:所有二进制依赖项都被视为不在当前正在编译的模块中。
test
源码集可以访问 main 的内部声明之外。模块是代码本身和生成的应用程序之间边界上的概念,因此它依赖于并影响着两者。Kotlin模块是一组被认为是相互依赖且在编译期间必须一起处理的Kotlin文件。
在简单情况下,模块是在给定项目中同时编译的一组文件。
- 使用单个Kotlin编译器调用编译的一组文件
- Maven模块
- Gradle项目
在涉及多平台项目的更复杂情况下,一个模块可能分布在几个编译、项目和/或平台上。
对于Kotlin/Core来说,模块对于
internal
可见性非常重要。模块如何影响特定平台在本规范的各自部分中有所描述。
我认为你可能在提到org.koin.core.module.Module
Koin模块是一个“空间”,用于收集Koin定义。它使用module函数声明。
val myModule = module {
// Your definitions ...
}
这个文档在这种情况下会很有帮助。
internal
修饰符?https://dev59.com/elYN5IYBdhLWcg3wJFNm - Ben Butterworth