Koltin委托属性

委托模式

在Kotlin中委托模式通过by关键字实现

interface Base {
    fun print()
}

class Derived(b: Base): Base by b

上述表达式表示b将代理Derived去实现interface Base的方法。

阅读更多
Kotlin语法糖 Part3

Kotlin语法糖 Part3

前言

在前面的两篇文章中,我们了解到了:

  • sealed
  • when()
  • with()
  • inline function and reified type

在这章中,我会给大家分享我是如何使用Kotlin委托机制的。

阅读更多
Kotlin语法糖 Part2

Kotlin语法糖 Part2

前言

在第一章中,我们学会了如何使用sealed classes,以及when()配合Pair或Triple使用做多重条件判断。 在这一章中,我想跟大家分享一下with()和inline reified的基本使用。

阅读更多
Kotlin语法糖 Part1

Kotlin语法糖 Part1

Kotlin给我们提供了大量的工具和语法糖让我们能够更为便利的去编程,让代码有更好的可读性和可扩展性。写更少的代码做更多的事,用这句话概括Kotlin和Java之间的差异一点都不为过。面对Kotlin这种能减轻我们工作量的工具,我们有什么理由不去学习它呢?我相信有效地使用Kotlin会对你的身心带来巨大的愉悦,在使用Kotlin的过程中,它的简洁和优雅的语法不断地给我带来惊喜,可能这也是Google使用它作为Android官方编程语言的原因吧。Kotlin的语法糖有很多,我至今也还在学习中,接下来我将用三篇文章的篇幅将目前我使用较多的介绍给大家。这篇文章是这个系列的第一章,在这张中我们主要来了解下密封类(sealed class)的用法。

阅读更多
Kotlin作用域函数(Scope Functions)

Kotlin作用域函数(Scope Functions)

前言

Kotlin中有5种作用域函数,分别是:

let, run, with, apply, and also

它们并没有任何特性,但是使用他们可以让我们的代码更加简洁,具备更好的可读性。我们可以在找到它们的源码。下面我将分析这些方法的区别。

阅读更多
Kotlin Lambda and Extension

Kotlin Lambda and Extension

Extension Function(扩展函数)

Extension Function 能在已经存在的类中添加新的方法或者属性,即使这些类来自库或者SDK中。在函数内部,我们可以访问类的公共函数和属性而不需要任何限定符,就好像这个函数就在这个类的内部一样。(注意:从技术上将,它并没有修改现有类,只是在声明的类中创建了static public final函数)

阅读更多