美文网首页Android技术知识
快速入门Kotlin(2)- 函数

快速入门Kotlin(2)- 函数

作者: 尧尧尧尧 | 来源:发表于2017-08-04 22:13 被阅读0次

    本文假定读者具有一定的java基础或者其他一些编程语言基础。如果从未接触过编程的读者,请自动忽略本文

    函数声明

    fun fun_name(name: type, ...) : return_type {

    some expressions

    }

    kotlin中使用fun关键字表示一个函数。和java不同的是,函数中的参数使用name:type形式声明。
    函数的返回类型在函数的)后面声明。

    一个简单实例:

    fun double(x: Int): Int {
        return 2*x
    }
    

    命名参数的函数声明

        fun newPeople(name: String, age: Int = 2) : People {
            return People(name, age)
        }
    

    调用方式

        val lilei= newPeople(name = "Lilei")
        val lily = newPeople("lily")
        val lucy = newPeople("lucy", 23)
        val hanmeimei = newPeople(name ="hanmeimei", age = 15)
    
        println("lilei: name = ${lilei.name}, age = ${lilei.age}")
        println("lily: name = ${lily.name}, age = ${lily.age}")
        println("lucy: name = ${lucy.name}, age = ${lucy.age}")
        println("hanmeimei: name = ${hanmeimei.name}, age = ${hanmeimei.age}")
    

    结果:

    
    

    函数返回值

    Kotlin中通过在函数的)后面加上: return_type来表示该函数有返回值。

    例如:

    fun newPeople(name: String, age: Int = 2) : People {
        return People(name, age)
    }
    

    表示改函数将返回一个People类型的返回值

    1. 返回Unit类型

      Unit类型类似于java中的Void类型

      fun showMessage(message: String): Unit {
          println("message is $message")
          return
      }    
      
      

      结果

      I/System.out: message is test
      
      

      当然此时由于Unit没有任何意义,所以上面的函数又可以写成这样

      fun showMessage(message: String): Unit {
          println("message is $message")
      }        
      

      或者

      fun showMessage(message: String){
          println("message is $message")
      }        
      

    可变参数

    kotlin中函数的可变参数通过vararg关键词来修饰

    单表达式函数

    如果函数体中只有一行表达式,那么可以在函数后方用=加上该表达式

    例如:

    fun multi(a: Int, b: Int): Int = a * b
    fun show(message: String) = println("message: $message")
    
    

    结果:

    I/System.out: 2 * 3 = 6
    I/System.out: message: hello, world!
    

    相关文章

      网友评论

        本文标题:快速入门Kotlin(2)- 函数

        本文链接:https://www.haomeiwen.com/subject/ypwblxtx.html