简洁的背后是一层一层语法约定
例:
button.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
v!!.visibility = View.INVISIBLE
}
})
button.setOnClickListener(View.OnClickListener { v: View? ->
v!!.visibility = View.INVISIBLE
})
button.setOnClickListener({ v: View? -> v!!.visibility = View.INVISIBLE })
button.setOnClickListener() { v: View? -> v!!.visibility = View.INVISIBLE }
button.setOnClickListener { v: View? -> v!!.visibility = View.INVISIBLE }
button.setOnClickListener { it.visibility = View.INVISIBLE }
结论
语言越高级,越接近自然语言,kotlin语法简洁的背后是一层又一层的语法约定,从知其所以然角度看,它要复杂一些,
毕竟是站在多门语言语言的基础上(所以有网友说他像Java、Scala、Python、C、C
Groovy、shell),借鉴了多门语言特性,同时支持多种编程范式,例如函数式编程(表达式漫天飞)、面向对象,
所以初期使用时藐视大意可能会有坑