kotlin 动态类型
作为静态类型的语言,kotlin任然拥有与无类型或弱类型语言的调用,比如 javaScript。为了方便使用,dynamic应而生: val dyn: dyna…
作为静态类型的语言,kotlin任然拥有与无类型或弱类型语言的调用,比如 javaScript。为了方便使用,dynamic应而生: val dyn: dyna…
反射是一系列语言和库的特性,允许在运行是获取你代码结构。 Kotlin 把函数和属性作为语言的头等类,而且反射它们和使用函数式编程或反应是编程风格很像。 On …
注解声明 注解是一种将元数据附加到代码中的方法。声明注解需要在类前面使用 annotation 关键字: annotation class fancy 用法 @…
异常类 所有的异常类都是 Exception 的子类。每个异常都有一个消息,栈踪迹和可选的原因。 使用 throw 表达式,抛出异常 throw MyExcep…
可空类型和非空类型 Kotlin 类型系统致力于消灭空引用。 在许多语言中都存在的一个大陷阱包括 java ,就是访问一个空引用的成员,结果会有空引用异常。在 …
Kotlin 允许我们实现一些我们自定义类型的运算符实现。这些运算符有固定的表示,和固定的优先级。为实现这样的运算符,我们提供了固定名字的数字函数和扩展函数,比…
在 kotlin 中有俩中相等: 参照相等(指向相同的对象) 结构相等 参照相等 参照相等是通过 === 操作符判断的(不等是!== ) a===b 只有 a …
为了记录下当前接受者,我们使用 this 表达式: 在类的成员中,this 表示当前类的对象 在扩展函数或扩展字面函数中,this 表示 . 左边接收者参数 如…
is !is 表达式 我们可以在运行是通过上面俩个操作符检查一个对象是否是某个特定类: if (obj is String) { print(obj.lengt…
range 表达式拥有 rangeTo 函数操作符是 .. 。 Range 可以对任何可比较的类型做操作,但对很多原语是优化过的。下面是些例子: if (i i…