kotlin中的包
kotlin 中的区间
Kotlin的包使用方法和Java差不多,但有些不一样的地方
1.一般用法
package com.dong.demo.ui;
public class ClassA {
}
在另一个文件中引入
import com.dong.demo.ui.ClassA
import com.dong.demo.ui.* ClassA一切都可访问
Java中com.dong.demo.ui一定要与文件目录对应,ClassA .java在com/dong/demo/ui目录下面,但Kotlin没有这个要求
2.顶层函数及属性
Kotlin有顶层函数及属性(不在类里面声明的函数及属性,类似于c语言的全局函数和属性)
//Test.kt
package test.static
var pTest = 5
fun fTest (): Unit {}
//Test2.kt 如果没有指明包,该文件的内容属于无名字的默认包。
var pTest2 = 5
fun fTest2(): Unit {}
//Test3.kt
import test.static.pTest
import pTest2 //如果没有指明包,该文件的内容属于无名字的默认包。
var a = pTest
var a2 = pTest2
可见如果没有指明包,该文件的内容属于无名字的默认包。
如果没有指明包,该文件的内容属于无名字的默认包。
3. 默认导入
有多个包会默认导入到每个 Kotlin 文件中:
kotlin.*
kotlin.annotation.*
kotlin.collections.*
kotlin.comparisons.* (自 1.1 起)
kotlin.io.*
kotlin.ranges.*
kotlin.sequences.*
kotlin.text.*
根据目标平台还会导入额外的包:
JVM:
java.lang.*
kotlin.jvm.*
JS:
kotlin.js.*
重命名导入
import test.static.test1 as p
var a = p
重命名可以改变引用的命名,方便使用,同时可以使用 as 关键字在本地重命名冲突项来消歧义
总结
- 包名和文件路径可以不一致
- 如果没有指明包,该文件的内容属于无名字的默认包
- 导入可以重命名
kotlin 中的区间
Kotlin 中区间的概念和数学上的差不多,也用来表示一个范围,它是由具有操作符形式 … 的 rangeTo 函数定义的。