![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kotlin
文章平均质量分 78
咸鱼谈何梦想
这个作者很懒,什么都没留下…
展开
-
Kotlin协程Channel使用
一、Channel 1、定义 Flow是冷流,本质上可以说是一个单线程操作,只有开始收集时,上流代码才会启动;而Channel是一个并发安全的队列,可以用来连接不同的协程,实现不同协程之间的通信。 2、基本使用 runBlocking { val channel = Channel<Int>() GlobalScope.launch(Dispatchers.IO) { channel.send(10) delay(1000)原创 2021-12-29 15:20:11 · 1416 阅读 · 0 评论 -
Kotlin协程Flow使用
一、冷流Flow 1、基本概念 Flow 能够返回多个异步计算的值 Flow 就是 Kotlin 协程与响应式编程模型结合的产物,与Rxjava非常像,Flow 提供了很多丰富的操作符,例如 map、fliter、count 等等,相比 Rxjava ,Flow 的使用和线程切换更为简单 冷数据流Flow与热数据流Channel更好相反,Flow是不消费则不生产 2、创建 // 方式一 flow<String> { emit("Hello") delay(5000)原创 2021-12-01 14:53:31 · 3196 阅读 · 0 评论 -
Kotlin协程基础
1、协程基本概念 协程就像非常轻量级的线程。 协程让异步逻辑同步化,杜绝回调地狱,代码逻辑非常简洁易懂 相对于线程切换是由操作系统进行调度的,程序员无法进行控制。 而协程的调度是由程序员在代码层面上进行控制的,程序员可以通过控制suspend函数的挂起和恢复,从而控制程序运行流程 2、协程挂起与恢复 挂起(suspend),用于暂停执行当前协程,并保存所有局部变量 恢复(resume),用于让已暂停的协程从其暂停处继续执行 挂起函数,被suspend修饰的函数称为挂起函数;挂起函数只原创 2021-11-18 19:33:09 · 2607 阅读 · 0 评论 -
Kotlin高阶函数
1、高阶函数定义 函数的参数接收的是另一个函数,或者返回值是另一个函数类型,我们把这类函数称为高阶函数 2、函数类型 字符串的类型用String表示,整型用Int表示,那么函数的类型呢? // 参数block接收的是函数类型,该函数具体是无参,返回值为Unit的函数 fun start(block: () -> Unit) { } // 参数block接收的是函数类型,该函数具体是有一个String类型参数,返回值为Boolean的函数 fun start(block: (String) ->原创 2021-11-14 08:37:15 · 1730 阅读 · 0 评论 -
Kotlin语言基础(下)
8、函数 /** * 函数的标准写法如下,Unit表示无返回类型,相当于Java里的void */ fun add(x: Int, y: Int): Int { return x + y } /** * 命名参数、默认参数、可变参数 */ fun method1(name: String, age: Int, value: Int) { } fun method2(name: String, age: Int = 20, value: Int) { } fun method3(name:原创 2020-08-04 09:43:25 · 132 阅读 · 0 评论 -
Kotlin语言基础(上)
1、基本数据类型 // Byte-8位(1个字节) Short-16位 Int-32位 Long-64位 Float-32位 Double-64位 val aInt: Int = 55 // 默认的整数是Int类型,默认的小数是Double类型 val bInt: Int = 0xf250 // 十六进制表示整数,kotlin没有八进制 val cInt: Int = 0b01000110 // 二进制表示整数 val maxInt: Int = Int.MAX_VALUE // 2的32次方-1,21原创 2020-08-03 11:14:04 · 188 阅读 · 0 评论