kotlin是一种基于JVM的静态类型编程语言,kotlin可以编译成Java字节码,也可以编译成JavaScript,kotlin是强类型的语言,kotlin要求所有的变量必须先声明、后使用。
kotlin可与java进行100%的互操作,使用kotlin过程中有任何问题可随时切换回java。
val name:String=null //编译时就会报错报错
val name:String?=null//正确写法
//kotlin 会默认生成get和set方法
class test{
var name:String?=null;
}
以往的java代码中对控件进行操作
//需要先
TextView textView=findViewById(R.id.textView);
//给控件设置文字
textView.setText("hello java")
//给控件添加事件
textView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
Toast.makeText(this,"hello java",Toast.LENGTH_SHORT);
}
});
在kotlin中
//设置文字、可直接使用xml中声明的id 不需要去findview
textView.text = "hello kotlin"
//添加事件
textView.setOnClickListener {toast("hello kotlin")}
//新建个kt文件,叫做test 里面写上如下代码:
fun Context.toast(message:String,length : Int = Toast.LENGTH_SHORT){
Toast.makeText(this,message,length)
}
就可以在所有Context类型中使用toast这个函数了
button.setOnClickListener {
//直接使用toast
toast("hello kotlin")
}
fun maxNumber(arg1: Int, arg2: Int, paramFunc: (a: Int, b: Int) -> Boolean): Int {
return if (paramFunc(arg1, arg2)) {
arg1
} else {
arg2
}
}
@Test
fun test(){
val max = { x: Int, y: Int -> x > y }
val number = maxNumber(60, 80, max)
println("number is $number")
}
//输出 number is 80
}}
}