kotlin学习笔记一 常用操作符

kotlin几个基本操作符的简介:

1.kotlin 常用高阶函数

1.1 TODO() 函数抛出异常测试错误的函数 TODO("测试TODO函数,是否显示抛出错误")

1.2 run()  函数 a.独立执行代码块  b.执行根据不同条件得到不同结果的时候使用可以结合when使用  run{ code }

1.3 T.run() 函数 可以使用当前对象的上下文  T为泛型对象

1.4 with() 函数 和T.run基本类似区别在于with为正常高阶函数 run为扩展高阶函数且 with函数指定了返回值(可看源码) with(str){ code }

1.5 T.apply() 函数 执行完lanbda表达式内容后会返回自身,因此还能继续后续的操作 T.apply{}.apply{}.apply{}

1.6 T.also() 函数 调用自身返回自身对象 "kotlin".also{println("结果:${it.plus("-java")}")} ----> kotlin-java

1.7 T.let() 函数  T ?.let{ } a.规避空指针;  b. 对本身进行操作,这是上述几个实现不了的"kotlin".let{it.reversed()}.let{it.plus("-java")}.let {println("新的字符串:$it"}

1.8 T.takeIf() 函数 传入希望的条件如果符合这返回自身,否则返回null  "str".takeIf{ it.startWith("ko")}

1.9 T.takeUnless 函数和takeIf 用法一致作用相反

1.10 repeat(count){ code } 函数根据传入的次数重复执行code  count为5 即会执行5次

1.11 lazy(){} 函数 用于延迟加载  变量 by lazy{ 变量初始化值 }

2.kotlin基础知识点

2.1 enum class color(val r: Int,val g: Int,val b: Int){
        RED(255,0,0),ORANGE(255, 165, 0), BLUE(0, 0, 255);
        fun rgb() = (r * 256 + g) * 256 + b
    }
    此处是kotlin唯一必须使用 ; 的地方 枚举类中定义任何方法就要使用 ; 将枚举常量列表和方法分开
    
2.2 when结构中可以使用任意对象,可以是有返回值的表达式或者函数

3.基本操作符

3.1 ?  表示对象可空 b?.length  未? 而直接声明的变量不可赋null//如果 b非空,就返回 b.length ,否则返回 null,这个表达式的类型是 Int? 

3.2 ?. 安全调用运算符不为空进行操作,反之返回null

3.3 ?: 类似java里的三元运算符 左侧为空则返回右侧,反之返回左侧 又称elvis操作符

3.4 !! 不为空则进行操作,反之抛出异常

3.5 ==与===  前者判断值是否相等 后者判断值和引用是否都相等

3.6 ..  until in !in  ..表示x到y闭区间  until表示前闭后开  in表示在区间  !in 表示不在区间

3.7 downTo()  倒序遍历 for (i in 4 downTo 1){print(i) } //倒叙遍历

3.8 step() 步进  (i in 4 downTo 1 step 2) print(i) // prints "42"

3.9 :: 得到类的class对象 startActivity(Intent(this@KotlinActivity, MainActivity::class.java))

3.10 @ (1) 限制this类型 如上       (2)标签  暂未理解透彻

3.11 as? 转换类型 当使用as转换类型的时候可能遇到异常, as? 如果转换错误就返回null了

3.12 is 类型判断符,无需显示转换后再判断,直接进行判断即可

3.13 三个双引号多行文本保留原本格式

3.14 $ 模板表达式,会求值并把结果包含到字符串中  "${g+h}"  "$value"  "${'$'}" 最后一个是将$符号本身包含到字符串中

3.15 let操作符 配合?. 一起用 ?.let{ it元素不为空 }

3.16 lateinit 延迟初始化var修饰的变量 常用于延迟初始化非空变量一遍后续使用,避免每次引用变量都需判空
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值