Kotlin 预备知识

  • Post author:
  • Post category:其他




var val

var 可修改的变量

val 不可修改的变量

我们可以不写类型,让 kotlin 自行推断

// 类型推断
var a = 123

// 直接指定类型
var a:Number = 123



编译时常量

只能写在函数外面;

只读变量不一定完全只读;


const val a = 100



range 语法


0..3

表示范围 0<=x<=3

val a:Number = 10
if(a in 0..20){
    println("god")
}



when 表达式

可以取代 ifelse 或者 switch

判断括号内的条件是否符合表达式,如果符合就用一个箭头链接结果

fun main(){
    val gender = 3
    val result:Any = when(gender){
        1->"male"
        2->"female"
        else->{
            println("a ")
        }
    }
    println(result)
}



字符串模板

python 也可以这么写,但是和 python 不同的是,模板中的字符串不需要转换成不同类型的引号

fun main(){
    val str:String = "str"
    // 全用双引号也可以正常识别
    println("answer = $str + ${str+"123"}")
}



函数基本结构

函数可以有默认值;

调用函数时如果使用具体名字,那么就不需要按照顺序;

函数末尾的冒号后面接着要返回的值的类型,如果什么都不返回就不写

返回值类型 Unit 等同于 java 中的 void,但是我们没有必要写,kotlin 会在编译时自动识别的!

fun main(){
    println(demo(name = "happy"))
}

private fun demo(name:String, age:Int = 10):String{
    return name
}



TODO

直接抛出异常,他接收一个参数表示异常原因

TODO 函数返回一个 Nothing 类型(也就是异常类型)


TODO("this is a exception")



反引号函数

定义函数名称时加个反引号就可以输入特殊值了(譬如关键词和保留字)

调用该特殊名称函数时也应该使用反引号

fun main(){
    `public`()
}

private fun `public`(){
    println("function")
}





版权声明:本文为delete_you原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。