Idiomatic Kotlin: variance
variance原文没有怎么看懂,翻译过来就是形变,更抽象。variance和variant都是一个意思。 variance定义了子类型和父类型的在进行一定操作后... Read more
业精于勤荒于嬉
variance原文没有怎么看懂,翻译过来就是形变,更抽象。variance和variant都是一个意思。 variance定义了子类型和父类型的在进行一定操作后... Read more
Java 中的泛型在编译时期,泛型信息被擦除掉了,使用相近的父类或者直接是Object 类替换泛型,这就是类型擦除(Type Erasure)。类型擦除减少了中间变量来存储泛型信息,进而减少了运... Read more
高阶函数就是可以接受函数作为参数或者将函数作为返回值的函数。Kotlin 中函数被当做普通数据类型(函数类型),可以做变量,参数,返回值。可以通过 lambda 表达式或者函数方法引用来实现。 Read more
高阶函数在编译后其实是用的匿名内部类的方式来实现,所以会有一点性能上的开销。使用 Inline 关键字来避免这种情形。被 Inline 关键字标记的高阶函数,在编译后是直接将高阶函数的函数体以及 Lambda 参数直接拷贝到调用... Read more
Elvis Operator 暂时没有找到好的中文翻译,暂时就叫做 Elvis 操作符。kotlin 中 Elvis operator 是用来做 Null 检查的,空检查操作符。有点像 ... Read more
lambda 表达式( lambda expressions):一段可以传递给其他函数的代码块高阶函数(high-order-functions):可以接受其他函数作为参数的就是高阶函数函数式编程(functio... Read more
单列模式限制了一个类只能有一个实例。当全局条件下,只需要一个实例来控制状态的时候就很有必要。单列必须要求: 只能有一个实例 能够被其他的访问 在实现... Read more
申明函数是一种复用代码的好方式。 Local Function 就是申明在函数中的函数,嵌套在函数中,官方翻译局部函数。函数通常情况是申明在一个类中。如果只是在... Read more
kotlin 中的属性类型有两种变量和常量 变量var或val。kotlin 中变量是默认有getter()和s... Read more