在Kotlin中默认导入了哪些包/函数?

时间:2016-10-16 21:47:35

标签: kotlin

在Java中,默认导入java.lang包 在kotlin中,可以使用许多函数和类而无需导入,例如println和kotlins ArrayInt等类型。
默认情况下导入了哪些内容以及它在何处定义?

2 个答案:

答案 0 :(得分:10)

Kotlin stdlib有kotlin个root包及其子包(see the full list with the content)

似乎没有记录默认情况下导入哪些内容,但是peek into Kotlin Github sources建议为JVM目标平台导入这些包:

  • java.lang.*
  • kotlin.*
  • kotlin.annotation.*
  • kotlin.jvm.*
  • kotlin.collections.*
  • kotlin.ranges.*
  • kotlin.sequences.*
  • kotlin.text.*
  • kotlin.io.*
  • kotlin.coroutines.* (将在Kotlin 1.1中添加,1.0.4中不存在)

我已手动测试它们,上面的列表适用于Kotlin 1.0.4。默认情况下,这些stdlib软件包

  • kotlin.comparisons.*
  • kotlin.concurrent.*
  • kotlin.properties.*
  • kotlin.reflect.*
  • kotlin.reflect.jvm.*
  • kotlin.system.*

正如@Magnus所述,JS平台are different的默认导入。

答案 1 :(得分:4)

Kotlin默认导入列表的官方文档(可能会随着该语言的新版本而更改)如下: https://kotlinlang.org/docs/reference/packages.html#default-imports

截至2018-02-11,它包括以下内容:

  
      
  • 科特林。*
  •   
  • kotlin.annotation。*
  •   
  • kotlin.collections。*
  •   
  • kotlin.comparisons。*(自1.1起)
  •   
  • kotlin.io。*
  •   
  • kotlin.ranges。*
  •   
  • kotlin.sequences。*
  •   
  • kotlin.text。*
  •   
     

根据目标平台导入其他包:

     

JVM:

     
      
  • 的java.lang。*
  •   
  • kotlin.jvm。*
  •   
     

JS:

     
      
  • kotlin.js。*
  •