在Kotlin文档中,他们提到了某种类型的 * 模块 *,例如在documentation中的internal修饰符。但是我找不到任何术语 module 本身的定义,那么 module 是什么意思呢?
internal
ev7lccsx1#
模块是一组编译在一起的Kotlin源代码:
这是在同一篇关于可见性修饰符的文档文章中。:)
a9wyjsp72#
根据Kotlin的文档,模块是一组编译在一起的Kotlin文件:
<kotlinc>
这是**@热键的**,但我想补充这个答案。According to Andrey Breslav,Kotlin的首席语言设计师:Kotlin模块一对一地Map到IntelliJ的模块(iml文件)。根据IntelliJ的documentation:模块允许您在一个应用程序中组合几种技术和框架。在IntelliJ IDEA中,您可以为一个项目创建几个模块,每个模块都可以负责自己的框架。对于Maven项目或命令行编译,Andrey states:默认情况下,每个编译器运行都是一个单独的模块:所有的二进制依赖关系将被视为不在此刻正被编译的模块中。此外,Gradle源集也是一个模块,但test源集可以访问main的内部声明。这意味着,如果Gradle配置中的不同构建风格导致不同的源集(例如,对于生产和调试版本),则一个源集中的内部类将无法用于另一个源集中。
test
njthzxwz3#
根据Kotlin语言规范§10.2模块:模块是代码本身和最终应用程序之间的边界上的概念,因此它依赖于并影响两者。Kotlin模块是一组Kotlin文件,它们被认为是“相互依赖的”,必须在编译过程中一起处理。在简单的情况下,模块是在给定项目中同时编译的一组文件。
在涉及多平台项目的更复杂的情况下,模块可以分布在多个编译、项目和/或平台上。对于Kotlin/Core来说,模块对于internal的可见性非常重要。模块如何影响特定的平台将在本规范的相应章节中描述。
gmxoilav4#
我想你可能是指org.koin.core.module.ModuleKoin模块是一个聚集Koin定义的“空间”,用module函数声明。
org.koin.core.module.Module
val myModule = module { // Your definitions ... }
在这种情况下,documentation会很有帮助。
4条答案
按热度按时间ev7lccsx1#
模块是一组编译在一起的Kotlin源代码:
这是在同一篇关于可见性修饰符的文档文章中。:)
a9wyjsp72#
根据Kotlin的文档,模块是一组编译在一起的Kotlin文件:
<kotlinc>
Ant任务编译的文件。这是**@热键的**,但我想补充这个答案。
According to Andrey Breslav,Kotlin的首席语言设计师:
Kotlin模块一对一地Map到IntelliJ的模块(iml文件)。
根据IntelliJ的documentation:
模块允许您在一个应用程序中组合几种技术和框架。在IntelliJ IDEA中,您可以为一个项目创建几个模块,每个模块都可以负责自己的框架。
对于Maven项目或命令行编译,Andrey states:
默认情况下,每个编译器运行都是一个单独的模块:所有的二进制依赖关系将被视为不在此刻正被编译的模块中。
此外,Gradle源集也是一个模块,但
test
源集可以访问main的内部声明。这意味着,如果Gradle配置中的不同构建风格导致不同的源集(例如,对于生产和调试版本),则一个源集中的内部类将无法用于另一个源集中。
njthzxwz3#
根据Kotlin语言规范§10.2模块:
模块是代码本身和最终应用程序之间的边界上的概念,因此它依赖于并影响两者。Kotlin模块是一组Kotlin文件,它们被认为是“相互依赖的”,必须在编译过程中一起处理。
在简单的情况下,模块是在给定项目中同时编译的一组文件。
在涉及多平台项目的更复杂的情况下,模块可以分布在多个编译、项目和/或平台上。
对于Kotlin/Core来说,模块对于
internal
的可见性非常重要。模块如何影响特定的平台将在本规范的相应章节中描述。gmxoilav4#
我想你可能是指
org.koin.core.module.Module
Koin模块是一个聚集Koin定义的“空间”,用module函数声明。
在这种情况下,documentation会很有帮助。