作者回复: java有个Void类不知道你清楚不,其实就可以可以将Unit理解为kotlin的Void类
作者回复: 对的有括号就是调用了方法
作者回复: 下面那个相当于你就写了个变量名,但这个变量没有任何意义。
作者回复: 上面是lambda对象,下面是runnable对象
作者回复: 高阶函数是kotlin非常核心的知识点,第一篇快速上手中,我们需要知道高阶函数的语法知识,如何声明,如何调用,能看懂别人代码。在后面讲DSL时候,我们还会重点讲kotlin的lambda与运算符重载知识。 在这里也教其他没有函数式编程经验的同学一个小技巧,在看kotlin的lambda时,在脑海里默念一下,这是一个接口对象。把lambda作为参数传入到函数中就跟平时写的回调是一样的。
作者回复: 不能,扩展函数不是真实的函数,并不能往指定包里面加,除非显示指定包名跟sdk的一致
作者回复: val callable = Callable<Int> {...}
作者回复: 因为可以手动创建一个名叫Function23的接口
作者回复: (a:Int, b:Int)->Int 这是一个类型,跟你经常写的String、Int是同类型的。传入的时候{a,b-> a+b} 这一整段是一个对象