快速入门Kotlin(2)- 函数

本文假定读者具有一定的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)- 函数)