基本的例子

1.单位返回类型声明对于函数是可选的。以下代码是等效的。

    fun printHello(name: String?): Unit {
        if (name != null)
            println("Hello ${name}")
    }
    
    fun printHello(name: String?) {
        ...
    }

2.Single-Expression 函数:当函数返回单个表达式时,可以省略花括号,并在=符号后指定正文

  fun double(x: Int): Int = x * 2

当编译器可以推断出返回类型时,显式声明返回类型是可选的

  fun double(x: Int) = x * 2

3.String 插值:使用字符串值很容易。

In java:
    int num=10
    String s  = "i =" + i;

In Kotlin
    val num = 10
    val s = "i = $num"

4.在 Kotlin 中,类型系统区分可以保存 null(可空引用)的引用和不能引用 null 的引用(非 null 引用)。例如,String 类型的常规变量不能保存 null:

var a: String = "abc"
a = null // compilation error

为了允许空值,我们可以将变量声明为可空字符串,写成 String?:

var b: String? = "abc"
b = null // ok

5.在 Kotlin 中,==实际上检查值是否相等。通常,像= = b 的表达式被转换为

   a?.equals(b) ?: (b === null)