fun sum2(a: Int, b: Int): Int = a + b//函数表达式fun max(a: Int, b: Int): Int =if(a > b) aelseb//lambda函数fun isOdd(x: Int) = x % 2 != 0 带默认参数的函数 1 2 3 4 5 6 7 8 //函数参数可以指定默认参数 fun multiply(a:Int,mut:Int=2):Int{ var result =1 fo...
第一种: fun main(args:Array<String>){ var i={x:Int,y:Int->x+y} //函数表达式,相当于上面的函数 println(i(3,5)) } 第二种: var j:(Int,Int)->Int={x,y->x+y}//函数表达式,相当于上面的函数 println(j(3,5))
funtest(){println("无参数的test函数")}funtest(name:String){println("有一个String参数的test函数")}funtest(age:Int){println("有一个int参数的test函数")}funtest(name:String,age:Int):String{return"有2个参数带返回值的函数"} 局部函数 在Kotlin函数体内部定义的函数,放在函数体内定义的函数称为局部...
是先定义变量,再用冒号去指向类型,如a:Int b:String,并且返回值也是用冒号去指向的,如:Int 并且我们还可以将表达式作为函数体、返回值类型⾃动推断的函数,如: fun sum(a: Int, b: Int) = a + b; 1. 2.变量(val&var) 变量分三种,局部变量,顶层变量和可变变量 但是就两个修饰符val 和 var //定义...
这里的when就是函数的返回值,可以看到when是一个表达式,它会返回一个值,这个值直接作为函数的返回值。 从这几个示例可以看出when表达式相当强大比其他语言的switch要强大许多,并且可以直接当作返回值,当需要超过2个条件分支时就可以使用when表达式。 循环语句 ...
2.1、if else 表达式 Kotlin: if(a ==3) { c =4}else{ c =5} 上面代码可以等价写成下面这种形式: c =if(a ==3)4else5 2.2、when 表达式 这个 when 表达式就相当于 Java 里面的 switch case。 Java: switch(a) {case0: c =5;break;case...
一、Kotlin基础函数 1 单表达式函数 当函数返回单个表达式时,可以省略花括号 例如: funsum(x:Int,y:Int):Int{returnx+y} 等价于: funsum(x:Int,y:Int):Int=x+y 等价于: //编译器可以推断出该函数的返回类型funsum(x:Int,y:Int)=x+y
一个函数无非就是从输入到输出的映射,写成数学表达式就是: f: X -> Y p:Y -> Z p(f) : X ->Z 用编程语言表达就是: fun f(x:X) : Y{} fun p(y:Y) : Z{} fun fp(f: (X)->Y, p: (Y)->Z) : Z { return {x -> p(f(x))} ...
fun函数名:[返回值类型]{[函数体]} fun函数名= [表达式] funsum(arg1:Int, arg2:Int):Int{returnarg1 + arg2 } 如果函数方法体只有一行代码,那可以将{}改为=,去掉return,表达式的值将作为函数返回值: funsum(arg1:Int, arg2:Int)= arg1 + arg2 ...
当一个函数的最后一个参数是函数类型参数时,可以使用尾随 Lambda 表达式。 2.1 无参函数 fun main() { outFun { println("inFun") // 打印: inFun } } fun outFun(inFun: () -> Unit) { inFun() } 2.2 有参函数 fun main() { outFun { a -> println(a) // 打印: abc } } fun outFun(...