Android开发——kotlin语法基础

目录

Kotlin的跨平台特性

声明变量和内置数据类型

 数据类型

getter和setter

循环语句

Lambda表达式(匿名函数)

it关键字

简略写法

具名函数引用 (::)

闭包

继承

无主构造

Null 安全

安全调用操作符 ( ?. )

let函数

非空断言操作符 ( !!. )

空合并操作符 ( ?: )

异常

自定义异常

先决条件函数

String

substring()

split()

replace()

标准库函数

Apply

run

With


Kotlin的跨平台特性

        Java跨平台的实现是通过JVM生成二进制字节码并且,并通过各个平台特质的JVM运行,而Kotlin 可以编译成 Jvm 字节码运行在 Java 虚拟机上,也可以编译成 JavaScript 运行在浏览器、Node 等 JavaScript 环境中,甚至可以编译成机器码,直接运行在机器本地环境中

声明变量和内置数据类型

var 和 val :  

                var是可变变量(可读可写),val是可读变量(只能读)

 声明变量格式:

              var/val 变量名 [:数据类型]  =  值

注:(有初始值时,中括号中可省略,kotlin会进行类型推导)

 数据类型

                

getter和setter

Kotlin中getter 和 setter 都是可选,只需控制变量修饰符,比如:

val不允许设置setter函数,因为它是只读的。

循环语句

Kotlin有两种循环方式,while和for-in,while与java中的while没有区别,for-in是对Java for-each的加强,Kotlin舍弃了for-i的写法,for-in需借助区间来使用

其中

  1. unitl关键字实现左闭右开
  2. step关键字实现跳步
  3. downTo关键字实现降序循环

Lambda表达式(匿名函数)

定义时不取名字的函数,匿名函数通常整体传递给其他函数,或者从其他函数返回,对kotlin很重要,有了它就可以根据需要制定特殊规则,轻松定制标准库里的内置函数

fun main() {
  val totalS  = "Mississippi".count { letter -> letter == 's' }
  println(totalS)
}

函数类型和隐式返回

kotlin中匿名函数也有类型,匿名函数可以当做变量赋值给函数类型变量,就像其他变量一样,匿名函数就可以在代码里传递了,变量有类型,变量可以等于函数,函数也会有类型,函数的类型,由传入参数和返回值决定,匿名函数也可以进行类型推断

和具名函数不同,除了极少数情况下,匿名函数不需要return关键字返回数据,匿名函数会隐式或自动返回函数体最后一行语句的结果

var blessingFun ={name:String,year:Int->
  val holiday = "New Year"
  "$name,$year,$holiday"
}

it关键字

定义只有一个参数的匿名函数时,可以使用it关键字来表示参数名,当参数大于一个时it不能使用

如上代码可以替换成

var blessingFun :(String)->String={
  val holiday = "New Year"
  "$it,$holiday"
}

简略写法

如果一个函数的lambda参数排在最后,或者是唯一的参数,name括住lambda值参的一对圆括号就可以省略

fun main() {
    //简略写法
    show("coke"){goods:String,num:Int ->  
        val currentYear = 2027
        "${currentYear}年,双11${goods}促销倒计时${num}小时"
    }//这个{}中的代码其实是参数
}
//具名函数 参数为匿名函数
private fun show (goods:String,getDiscountWords :(String,Int)->String){
    val num = (0..24).shuffled().last()//.shuffled()打乱 .last()取最后
    println(getDiscountWor
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值