一、简单函数
fun testPrint() {
Log.i("@@@", "Hello World, 我的Kotlin的第一个函数")
}
二、带返回值的函数 —— 3 中实现方式,以返回Int为例
-
/** * public 方法必须写出返回类型 */ public fun sum3(a: Int, b: Int) = a + b
Public 必须写出返回类型
-
fun sum2(a: Int, b: Int) = a + b
sum2的方法,返回值为 a + b ,为Int类型,因此,直接默认返回值也就为Int类型了
-
fun sum(a:Int, b: Int):Int {//返回Int return a+b }
这是完整的方法,参数(a: Int, b : Int) : Int,最后一个Int相当于Java里的返回类型
三、可变长度的参数
/**
* 可变长参数
*/
fun vars(vararg v: Int) {
for (vt in v) {
print(vt)
}
}
四、匿名函数:
//测试匿名函数
val sumLambda: (Int, Int, Int) -> Int = {x, y, z -> x + y + z}
funUtils.print(sumLambda(1, 5, 5))
最后一个,是我将上面的所有函数封装到了一个类中,方便测试:
class FunUtils {
fun sum(a:Int, b: Int):Int {//返回Int
return a+b
}
fun sum2(a: Int, b: Int) = a + b
/**
* public 方法必须写出返回类型
*/
public fun sum3(a: Int, b: Int) = a + b
/**
* 无返回值类型 1)
*/
fun printSum(a: Int, b: Int): Unit {
print(a + b)
}
/**
* 如果返回Unit类型,则可以省略,即使是public方法
*/
public fun printSum1(a: Int, b: Int) {
print(a + b)
}
/**
* 可变长参数
*/
fun vars(vararg v: Int) {
for (vt in v) {
print(vt)
}
}
fun print(a: Int) {
Log.i("@@@", a.toString())
}
}
五、方法调用的测试:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//测试函数
testPrint()
//测试类及方法
var funUtils = FunUtils()
//测试可变长参数
funUtils.vars()
funUtils.vars(1, 2, 3)
//测试返回值
val sum = funUtils.sum(4, 5)
funUtils.print(sum)
//测试没有返回值
funUtils.printSum(1, 3)
//测试匿名函数
val sumLambda: (Int, Int, Int) -> Int = {x, y, z -> x + y + z}
funUtils.print(sumLambda(1, 5, 5))
}
fun testPrint() {
Log.i("@@@", "哈啊哈哈")
}
}
六、测试打印的结果,可以看到,所有我们刚才梳理到的函数的打印结果: