当前位置: 首页 > news >正文

做创意ppt网站上海培训机构白名单

做创意ppt网站,上海培训机构白名单,室内设计公司排名榜,wordpress自动内链本片文章主要介绍Flow上下游处理,上游一个Flow使用map,上游两个Flow使用zip,上游三个Flow及以上使用combine 1、下面代码展示了upStreamFlow作为上游,downStreamFlow作为下游,通过对upStreamFlow使用map操作符函数将…

本片文章主要介绍Flow上下游处理,上游一个Flow使用map,上游两个Flow使用zip,上游三个Flow及以上使用combine 

1、下面代码展示了upStreamFlow作为上游,downStreamFlow作为下游,通过对upStreamFlow使用map操作符函数将upStreamFlow转换为新的Flow对象,每个元素都通过lambda表达式进行处理,并生成以“Number:”为开头的字符串。

package com.cqzimport kotlinx.coroutines.flow.*suspend fun main() {val upStreamFlow: Flow<Int> = flow {for (i in 1..5) {emit(i)}}val downStreamFlow: Flow<String> = upStreamFlow.map {"Number:$it"}upStreamFlow.collect {println("upStreamFlow:$it")}downStreamFlow.collect {println("downStreamFlow:$it")}}

运行以上代码将会得到以下结果

upStreamFlow:1
upStreamFlow:2
upStreamFlow:3
upStreamFlow:4
upStreamFlow:5
downStreamFlow:Number:1
downStreamFlow:Number:2
downStreamFlow:Number:3
downStreamFlow:Number:4
downStreamFlow:Number:5

2、上游两个Flow可以使用zip操作符函数将两个Flow合并为新的Flow对象。这个函数接受两个asdFlow作为参数,并通过lambda表达式将它们的元素进行组合。

package com.cqzimport kotlinx.coroutines.flow.*suspend fun main() {val upStreamFlow: Flow<Int> = flow {for (i in 1..5) {emit(i)}}val upStream2Flow: Flow<Int> = flow {for (i in 6..10) {emit(i)}}upStreamFlow.zip(upStream2Flow) { num1,num2->num1 + num2}.collect {println("zip:$it")}}

运行以上代码将会得到以下结果

zip:7
zip:9
zip:11
zip:13
zip:15

3、上游有三个Flow或以上的时候可以使用combine操作符函数,将三个Flow合并为一个Flow

package com.cqzimport kotlinx.coroutines.flow.*suspend fun main() {val flow1 = flowOf(1,2,3)val flow2 = flowOf(false,true,false)val flow3 = flowOf("A","B","C")val combinedFlow = combine(flow1,flow2,flow3) {i, b, s ->CombinedResult(i,b,s)}combinedFlow.collect {println("combinedFlow:$it")}
}
data class CombinedResult(val i: Int,val b: Boolean,val str: String)

运行以上代码将会得到以下结果

combinedFlow:CombinedResult(i=1, b=false, str=A)
combinedFlow:CombinedResult(i=2, b=false, str=A)
combinedFlow:CombinedResult(i=2, b=true, str=A)
combinedFlow:CombinedResult(i=2, b=true, str=B)
combinedFlow:CombinedResult(i=3, b=true, str=B)
combinedFlow:CombinedResult(i=3, b=false, str=B)
combinedFlow:CombinedResult(i=3, b=false, str=C)

http://www.zhongyajixie.com/news/58341.html

相关文章:

  • 做美食网站的目的宁波网站推广找哪家
  • 设计游戏的软件专业关键词优化平台
  • app拉新接单平台武汉seo网络优化公司
  • 网站关键字多少合适我要恢复百度
  • 怎么样才能让网站自助建站平台
  • 做网站分流深圳seo优化培训
  • 做网站欢迎页什么意思seo视频教程百度网盘
  • 国庆节网页设计模板免费下载搜索引擎简称seo
  • 微信网站与响应式网站seo关键词布局案例
  • 米方科技网站建设广告投放平台公司
  • 唐山百度快速排名提升seo推广有哪些方式
  • 免费设计素材下载网站关键词优化公司哪家好
  • 专门做特卖的网站地推十大推广app平台
  • 做个响应式网站多少钱长沙营销推广
  • 董事长办公室装修设计效果图郑州官网关键词优化公司
  • 中英文双版网站怎么做google引擎免费入口
  • 网站建设创业公司策划方案百度广告位
  • 做二手车放在哪个网站好免费推广网站2023
  • 用vs做网站表格向上居中销售找客户的app
  • dede制作的网站挂马外包公司软件开发
  • 郑州网站建设哪家强国际热点新闻
  • behance设计官网怎么进河北百度seo
  • 温州网站制作四川省人民政府官网
  • 中国室内设计大赛官网西安seo外包优化
  • 一级a做爰片免播放器网站seo数据监控平台
  • 衡水市住房和城乡建设局网站抖音权重查询
  • Wordpress代码加超链接班级优化大师是干什么用的
  • 广州高端网站建设定制seo工资多少
  • 贵阳企业网站建设网站优化排名哪家好
  • 公司主页网站制作十大最免费软件排行榜