Kotlin
爱吃西蓝花i
应该有个小小的梦!
展开
-
Kotlin协程相关(未整理) 主要用于简化回调
package com.example.oroutinesimport kotlinx.coroutines.*import retrofit2.Callimport retrofit2.Responseimport java.lang.Exceptionimport java.lang.RuntimeExceptionimport javax.security.auth.callback.Callbackimport kotlin.coroutines.resumeimport kotl原创 2022-04-05 14:54:21 · 2308 阅读 · 0 评论 -
kotlin中的泛型与委托(类委托与属性委托)
package com.example.providertestimport androidx.appcompat.app.ActionBarDrawerToggleimport kotlin.reflect.KProperty** * Kotlin中的泛型与委托 * 一般编程模式下,需要给任何一个变量指定一个具体的类型,而泛型允许在不指定具体类型的情况下进行编程,这样的程序拥有更加良好的扩展性 * 泛型主要有两种定义方式①定义泛型类②定义泛型方法 * * 委托是一种设计模式,基本理念为原创 2022-04-02 14:45:00 · 2288 阅读 · 0 评论 -
6.5 kotlin高阶函数inline、noinline、crossinline
定义高阶函数/ * 高阶函数的定义:如果一个函数接收另一个函数作为参数,或者返回值类型为另一个函数,那么该函数就称为高阶函数 * * 高阶函数允许让函数类型的参数来决定函数的执行逻辑。即使是同一个高阶函数,只要传入不同的函数参数类型, * 那么它的执行逻辑和返回结果就可能是完全不同的。 * * 如果每次调用高阶函数还要定义一个与其函数类型相同参数相匹配的函数,是不是太复杂了? * 因此kotlin还支持其他多种方式来调用高阶函数,比如Lambda表达式、匿名函数、成员引用。 */使用示原创 2022-04-01 06:51:07 · 204 阅读 · 0 评论 -
5.6 扩展函数和运算符重载
扩展函数扩展函数可以在不修改某个类源码的情况下,仍然可以打开这个类,向该类添加新的函数。扩展函数的语法结构fun ClassName.methodName(param1:Int,param2:Int) : Int{ return 0}假设需求:我们想统计字符串中字母的数量,如果采用java中的实现思想我们可能会这样写object StringUtil{ fun lettersCount(str:String) : Int{ var count = 0原创 2022-03-31 20:35:50 · 292 阅读 · 0 评论 -
Kotlin语法基础一
/** * 2.3.1变量 * kotlin中只有可变var和不可变val * kotlin中拥有出色的类型推导机制 *如果对一个变量延迟赋值,kotlin就无法自动推导它的类型了,这时候就需要显式地声明变量类型 val a : Int = 10 * kotlin完全抛弃了java中的基本数据类型,全部使用了对象数据类型,int在java中是关键字,Int在kotlin中为一个类 * 应该习惯用val声明,如果确实无法使用再用var * * 2.3.3函数 * kotlin中的函数其实就是原创 2022-03-23 23:33:42 · 1443 阅读 · 0 评论