本文假定读者具有一定的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类型的返回值
-
返回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!
网友评论