美文网首页
Kotlin Basic Syntax

Kotlin Basic Syntax

作者: minhelloworld | 来源:发表于2020-02-17 10:32 被阅读0次

最近在了解Android Jetpack相关的知识点,官方给出了很多建议的Project,大部分都是kotlin实现的,所以了解一下基本的kotlin语法,防止Read Source的时候卡住,记录一下,避免遗忘~

1、知识点

1.1、函数

1)函数的返回类型

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

2)可以将表达式作为函数体、返回值类型自动推断的函数

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

1.2、变量

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

val a: Int = 1  // 立即赋值
val b = 2   // 自动推断出 `Int` 类型
val c: Int  // 如果没有初始值类型不能省略
c = 3       // 明确赋值

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

var x = 5 // 自动推断出 `Int` 类型
x += 1

1.3、字符串

fun main() {
    var a = 1
    // 模板中的简单名称:
    val s1 = "a is $a" 

    a = 2
    // 模板中的任意表达式:
    val s2 = "${s1.replace("is", "was")}, but now is $a"
    println(s2)
}

1.4、空值与 null

1)当某个变量的值可以为 null 的时候,必须在声明处的类型后添加 ? 来标识该引用可为空。如果 str 的内容不是数字返回 null

fun parseInt(str: String): Int? {
    return str.toIntOrNull()
}

1.5、is

1)is 运算符检测一个表达式是否某类型的一个实例。 如果一个不可变的局部变量或属性已经判断出为某类型,那么检测后的分支中可以直接当作该类型使用,无需显式转换:

1.6、when 表达式

fun describe(obj: Any): String =
    when (obj) {
        1          -> "One"
        "Hello"    -> "Greeting"
        is Long    -> "Long"
        !is String -> "Not a string"
        else       -> "Unknown"
    }

1.7、for 循环

val items = listOf("apple", "banana", "kiwifruit")
for (item in items) {
    println(item)
}

或者

val items = listOf("apple", "banana", "kiwifruit")
for (index in items.indices) {
    println("item at $index is ${items[index]}")
}

1.8、使用区间(range)

val x = 10
val y = 9
if (x in 1..y+1) {
    println("fits in range")
}

相关文章

网友评论

      本文标题:Kotlin Basic Syntax

      本文链接:https://www.haomeiwen.com/subject/jvxbfhtx.html