Kotlin: package和import

package

Kotlin的代码结构是通过源文件和package组织。

在源文件的开头声明package,如

package foo.bar

fun baz() {}

class Goo {}

// ...

在声明的package源文件里的所有内容均属于此package。如示例里的baz函数和类Goo全名分别为foo.bar.baz和foo.bar.Goo。

如果在文件的开头没有声明package,那么文件里的内容属于“default” package。

需要注意的是,与Java不同的是,Kotlin的package不需要和源文件的路径对应。

导入import

Kotlin引用其他package里的声明使用关键词import来导入。

导入指定的类

import foo.Bar

导入指定访问的所有内容(包括:package,class,function等声明)

import foo.* 

foo下的所有可见内容都可以被访问到。

给导入的内容起别名

import foo.Bar 
import bar.Bar as bBar

这里使用了as来给bar.Bar起了一个别名bBar

import导入的内容包括:

  • 类class
  • 顶层的函数以及属性
  • 对象声明里的函数和属性
  • 枚举常量

注意:当文件里的声明使用private标志,那么此声明则为源文件私有,不能被其他文件导入。

默认导入

Kotlin给每一个文件默认导入了一些基础的包,这样我们就不需要手动导入。

这些包包括:

所有平台:

         JVM平台:

         JS平台:

版权声明:著作权归作者所有。

相关推荐

有用的Kotlin版Rx代码片段1

只是几个随机的,可能有用的Rx片段(kotlin版)。计时器是的,只是一个简单的计时器,运行5秒。Observable.interval(1, TimeUnit.SECONDS, Schedulers.newThread())         .take(5)    &

基于RxJava和Kotlin封装类处理网络加载数据

在Android开发里,常常需要处理网络加载数据,这里基于RxJava,和Kotlin的Sealed class(封装类)的特性实现的一个示例。Resource.kt首先使用Kotlin的sealed class实现Resource.kt,它用来包装数据和状态。sealed class Resource<out T> { &n

Kotlin集合扩展函数 - 转换

Kotlin 集合类型提供了很多用于转换的扩展函数。这里需要指出示例里的intList为val intList: List<I­nt> = listOf(1, 2, 3) associate关联函数:使用转换函数把Array或Iterable转换为Map:数组fun <T, K, V> any_array

Kotlin:流程控制之条件语句 if 和 when

在Kotlin有两种用于判断条件的语句if 和when。if在Kotlin,if既可以是条件语句,仅仅用作条件判断,还可以是条件表达式,表达式会返回一个值。传统的条件判断if语句var max = a  if (a < b) max = b if-elsevar max:&

Kotlin:基本类型 - Char与Boolean

字符类型Kotlin使用Char表示字符,与Java不同的是,它并不能直接和数字做类型转换。字符表示它们使用单引号''把字符括起来特殊字符:特殊字符串使用反斜杠开头,如\t, \b, \n, \r, \', \", \\ and \$其他一些字符可以使用Unicode编码,如'\uFF00'数字转换Kotlin的字符不能直接和数字做类型转换,但我们可以它们的unicode码的相对差来做数