1、匿名函数&Lambda
fun main() {
//得到这个字符的长度
/**
* @kotlin.internal.InlineOnly
public inline fun CharSequence.count(): Int {
return length
*/
var len = "JackZhao".count()
println(len)
//count 后面的就是匿名函数,没有函数名字的函数,注意此时 返回值为Char类型,不能使用双引号
var len2 = "JackZhao".count{
// it: 字符串里面有几个a
it == 'a'
}
println(len2)
}
2、函数的隐式返回
fun main() {
//函数隐式返回
//第一步:函数的输入声明 : var myMonth:()->String
// 函数名 符号:区分作用 输入 输出
var myMonth : () -> String
//第二步,对上面函数的实现
myMonth = {
//匿名函数不能写return 默认最后一行是返回值
"JackZhao"
}
//TODO 第一步和第二步也可以加起来 实现鲜果是一样的
var myMonth2 : (Int,Int,Int) -> String = {
num1,num2,num3 -> "JackZhaoYuanHang--方法$num1、方法$num2、方法$num3" //给参数附变量名, ->后面是返回值
}
//第三步,调用此函数 : 注!!!! :是调用的函数,所以要加上小括号,要不打印不出来
println("我是${
myMonth()},我还是${
myMonth2(1,2,3)}")
}
3、kotlin 匿名函数中的 it 关键字特点
//如果只有一个参数的话,系统会默认变量名为it,所以不用给参数附变量名就可以
var myMonth3 :(String) -> String = {
"$it" }
println(myMonth3("我是JackZhao"))