Lambda表达式

来源:3-10 小案例:命令行计数器开发

慕妹2978617

2019-11-16

图片描述这段表达式有些看不懂了 首先问题2,之前我们定义属性的值是方法的时候是这样写的 val opFun={()->Int} 一个属性的值是一个匿名Lambda函数的方法,返回值就是这个函数的返回值Int,中间是用等号链接的 问题二中是用的: val 参数:类型 这表示定义属性的方法 那这么写之后是不是其实是定义的属性的值呢 那问题二的值类型是什么值什么什么返回值类型是Double?问题3中的“+”->{}这个括号中的书写格式是根据问题2定义的才这么写的吗?这个opFun为什么不像问题1那样写 问题2的表达式总是感觉怪怪的,之前lambda章节好像没这么讲过。能说明下这段的含义吗?

写回答

3回答

bennyhuo

2019-11-16

问题1是定义了一个变量,赋值为等号后面的lambda表达式,这个表达式接受两个参数,返回了Double这个值,箭头后面的Double是表达式的返回值,不是返回值类型,箭头前面的是参数类型。

你应该是把Lambda和函数类型的写法混淆了,我记得这块儿在3.2节讲过,可以再复习一下哈

0
0

bennyhuo

2019-11-16

问题3的地方就是lambda的值,类型要求就是opfunc声明的类型

0
0

bennyhuo

2019-11-16

问题二的位置是变量声明,没有初始化,变量后面的冒号后是类型

0
0

Android首选开发语言Kotlin入门与进阶

Google I/O大会钦定Android一级开发语言,现在不学,等待何时

3122 学习 · 387 问题

查看课程