
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
之间使用了kotlin的标准函数、匿名函数,觉得它十分灵活,简便。其实kotlin的标准函数就是用了扩展一、扩展函数1.定义扩展函数当我们需要对一个类新增一个方法时,在Java中需要写一个子类继承它,然后添加我们的新方法。在kotlin中,可以利用扩展增加类的功能,指定类名后就可以新增函数我们给所有类新增打印函数,给String新增加上!的方法://给所有类新增打印函数 :Any.函数...
上次我们学习了kotlin的字符串操作、数字类型、标准库函数,接下来我们来学习集合,和其他变量类型一样,集合也分为可变和只读一、List1.List集合创建与元素获取调用listOf函数创建集合,我们可以通过和数组一样的方式: "变量[下标]" 来获取元素,或者使用get函数获取fun main() {//listOf创建List集合var list = listOf(...
上篇介绍了kotlin的基本类型,变量定义、函数定义等,接下来来学习如何使用匿名函数、lambda、闭包,这将大大提高我们使用kotlin编写代码的效率,相对于Java繁琐的代码,你会爱上这种简洁一.匿名函数Java也有匿名函数,但是kotlin比Java简洁很多1.函数变量如果我们要在Java方法中传入一个回调函数,需要定义一个接口,并使用new关键字实例化匿名类实现该方法:publi...
上次介绍了kotlin中的集合List、Set、Map的操作,接下来介绍kotlin中如何定义类、初始化、继承一、类的定义1.field对于每个属性,kotlin会自动生成一个的field:代表属性的值,一个getter方法,一个setter方法。我们操作属性时,实际调用的是get和set方法,因为kotlin变量的不可空性,对于非空变量,我们在赋值时,系统要对赋值的值进行是否为null判断...
之前有个Dart的语言基础后,现在开始进入真正的跨平台Flutter开发,如果你学习过Jetpack Compose,那么Flutter的学习会变得十分简单,两者之间的概念几乎一样,都有含有状态、组件。同时状态是声明式UI中最重要的一环,在后续过程会逐渐使用。

Flow是kotlin提供的一个工具,使用协程封装成生产者-消费者模式,上流来负责生产,下流来接收消耗。一、Flow的使用1.Flow的创建1.可以使用flow构建函数构建一个Flow类型返回值的函数2.flow{}构建体中可以调用挂起函数,即上流3.上流使用emit函数发射值4.下流使用collect函数收集值//上流函数fun simpleFlow() = flow ...
从前面我们可以大致了解了协程的玩法,如果一个协程中使用子协程,那么该协程会等待子协程执行结束后才真正退出,而达到这种效果的原因就是协程上下文,上下文贯穿了协程的生命周期,这套思想和我们app的上下文很像在开始真正了解协程上下文之前,我们先来看看下面的例子下面的图代表了一个协程a的生命,就像一条从上至下的直线,它的生命只有100ms当我们在a协程延迟函数100ms之前开启一个子协程b...
一、ChannelChannel相较于Flow,Flow是冷流,本质上可以说是一个单线程操作,只有开始收集时,上流代码才会启动,而Channel是一个并发安全的队列,可以用来连接不同的协程,实现不同协程之间的通信1.Channel的使用创建一个Channel对象,在不同协程中调用其send和receive函数fun `test channel`() = runBlocking {...
协程到目前为止没有一个具体的定义,但很多语言都有协程,但每个语言又有所不同,官方说协程基于线程,是轻量级的线程。在我看来,协程是一种趋势,它让我们从繁琐的多线程中释放出来,提高我们的编写代码的效率。为什么说这是一种趋势,就像我们之前学习的函数式编程,从最开始的面向方法编程,到面向对象编程,再到函数式编程,程序员们经历了造轮子,用轮子,再最后到的“指挥”。我把函数式编程理解为面向管理编程,因为我从.
上次我们学习了kotlin的null安全、异常、先决条件,接下来来看看kotlin的字符串操作、数字类型、标准库函数一、字符串操作1.字符串截取substring函数支持IntRange类型参数,使用until创建的范围遵循左闭右开const val title = "my day's study"fun main() {//'的索引val endIndex = t...







