Kotlin基本语法笔记之函数、变量的定义及null检测

定义函数

fun sum(a: Int, b: Int): Int {
    return a + b
}

该函数中两个参数的类型都是Int,返回类型是Int

也可以做如下简化

fun sum(a: Int, b: Int) = a + b

将表达式作为函数体、返回值类型自动推断

当函数没有返回值时,返回类型是Unit

fun printInt(i: Int): Unit {
    println("The value of i is $i.")
}

Unit可以省略

定义变量

定义只读局部变量使用关键字val,只能为其赋值一次

可重新赋值的变量使用var关键字

使用可空值及null检测

fun parseInt(s: String): Int? {
    try {
        return Integer.parseInt(s)
    } catch (ex: NumberFormatException) {
        LOGGER.log(Level.SEVERE, null, ex)
        return null
    }
}

当某个变量的值可以为null的时候,必须在声明处的类型后添加?来标识该引用可为空

因为这段代码中函数可能返回null,所以返回类型Int后的?是必要的,否则会导致编译错误

fun test(s1: String, s2: String) {
    val x = parseInt(s1)
    val y = parseInt(s2)
    if (x == null || y == null) {
        println("either 's1' or 's2 is not a number")
    } else {
        println("x * y: ${x * y}")
    }
}

由于parseInt返回类型为Int?,即可能返回null,所以x和y都有可能为null

必须对x、y进行null检测才能使用x * y,否则会导致编译错误

参考站点:基本语法 - Kotlin 语言中文站

P.S.

对于Kotlin的发音,可以参考HOW PRONOUNCE KOTLIN! (BEST QUALITY VOICES) - YouTube

我用的IDE是IntelliJ IEDA,下载地址Download IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains

原文地址:https://www.cnblogs.com/buyishi/p/10448005.html