美文网首页
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