重读《Kotlin For Android》二

来源:互联网 发布:学语言的软件 编辑:程序博客网 时间:2024/06/06 01:35

写在前面:本系列主要是列举功能点

1.操作符
①===
a===b,判断a和b所指向的实例是否是同一个,或者它们是否都为null

2.Lambda
举个栗子,给一个View设置点击事件:
使用Java语音

public interface OnClickListener{    void onClick(View v);}view.setOnClickListener(new OnClickListener(){    public void onClick(View v){        Toast.makeText(v.getContext(), "Click", Toast.LAENGTH_SHORT).show();    }}

使用Kotlin
OnClickListener()相当于fun setOnClickListener(listener: (View) -> Unit)
这是一个Lambda表达式,“->”的左边是函数需要传入的参数(使用“()”括起来,只有一个参数可省略),右边是函数的返回值(使用“{}”括起来,只有一句话可省略),这个函数需要传入一个View,返回一个Unit(nothing)。所以上面的代码可以写成:
view.setOnClickListener({view -> toast(“Click”)})
当左边传入的参数没有被使用的时候,箭头及其左边参数可省略,故 以上代码可简写成:
view.setOnClickListener({toast(“Click”)})
如果函数的最后一个参数是一个函数,我们可以将这个参数移到“()”的外面,所以上面代码可以写成:
view.setOnClickListener(){toast(“Click”)}
如果函数只需要传入一个参数,我们可以省略“()”,所以上面代码可以写成:
view.setOnClickListener{toast(“Click”)}

0 0