Kotlin 函数

  • 函数

    Kotlin是一种静态类型的语言,因此函数在其中起着重要的作用。我们对函数非常熟悉,因为我们在整个示例中都使用函数。函数用关键字fun声明。像任何其他OOP(面向对象编程)一样,它也需要一个返回类型和一个选项参数列表。在下面的示例中,我们定义了一个名为MyFunction的函数,并从主函数中调用了该函数并传递了一些参数。
    
    fun main(args: Array<String>) {
       println(MyFunction("cainiaoya.com"))
    }
    fun MyFunction(x: String): String {
       var c:String  = "Hey!! Welcome To ---"
       return (c+x)
    }
    
    尝试一下
    输出:
    
    Hey!! Welcome To ---cainiaoya.com
    
    函数应声明如下-
    
    fun <nameOfFunction>(<argument>:<argumentType>):<ReturnType>
    
    以下是Kotlin中可用的一些不同类型的函数。
  • Lambda函数

    Lambda是一个高级函数,在声明和定义函数时会大大减少样板代码。Kotlin允许您定义自己的lambda。在Kotlin中,您可以声明lambda并将该lambda传递给函数。
    
    fun main(args: Array<String>) {
       val mylambda :(String)->Unit  = {s:String->print(s)}
       val v:String = "cainiaoya.com"
       mylambda(v)
    }
    
    尝试一下
    在上面的代码中,我们创建了自己的lambda,称为“mylambda”,并向该lambda传递了一个变量,该变量的类型为String,并包含值“cainiaoya.com”。上面的代码将在浏览器中产生以下输出。
    
    cainiaoya.com
    
  • 内联函数

    上面的示例显示了我们可以在Kotlin应用程序中使用的lambda表达式的基础。现在,我们可以将lambda传递给另一个函数以获取输出,从而使调用函数成为内联函数。看下面的例子。
    
    fun main(args: Array<String>) {
       val mylambda:(String)->Unit  = {s:String->print(s)}
       val v:String = "cainiaoya.com"
       myFun(v,mylambda) //传递lambda作为另一个函数的参数
    }
    fun myFun(a :String, action: (String)->Unit) { //传递 lambda 
       print("Heyyy!!!")
       action(a)// 调用 lambda 函数
    }
    
    尝试一下
    上面的代码将在浏览器中产生以下输出。使用内联函数,我们传递了一个lambda作为参数。可以使用“inline”关键字将任何其他函数设置为内联函数。
    
    Heyyy!!!cainiaoya.com